一、询价要求
Q12报表查询,获取运费模式和订单优先级。这有助于决策:选择更便宜的运输方式是否会导致消费者在合同到期后收到更多的货物,这将对紧急优先订单产生负面影响。
Q12语句的特征在于两个表连接查询操作,包括分组、排序和聚合操作。
二。甲骨文实施
由甲骨文编写的查询语句如下:
选择/*+并行(n) */
l_shipmode,
sum(案例
当o _ order priority = ' 1-紧急'时
或o_orderpriority = '2-HIGH '
然后1
其他0
end)作为high_line_count,
sum(案例
当o _ orderpriority & lt>。“1-紧急”
和o _ orderpriority & lt>。“2-高”
然后1
其他0
结束)作为low_line_count
从
订单,
lineitem
在哪里
o_orderkey = l_orderkey
和l_shipmode在(‘CARK’,‘MAIL’)
和l _ commitdate & ltl_receiptdate
和l _ shipdate & ltl_commitdate
和l_receiptdate >中。=日期' 1995-01-01 '
和l _ receiptdate & lt日期' 1995-01-01' +间隔' 1 '年
分组依据
l_shipmode
订单人
l _ shipmode
其中/*+ parallel(n) */是Oracle的并行查询语法,n是并行行数。
脚本执行时间(秒)
第三,SPL优化
这里订单和行项目子表关联优化的原理与第3季度类似。
请注意,在SQL中,高行数和低行数的条件正好相反,其中一个条件可以用一个更简单的计算公式由另一个条件来计算。此外,这两个计算列只与订单表相关,订单表可以先计算,然后与行项目连接,因此计算量要比先连接后计算少得多,因为订单表比行项目表小得多。
SPL剧本如下:
脚本执行时间(秒)