一、 查詢要求
Q14語句查詢獲得某一個月的收入中有多大的百分比是來自促銷零件。用以監視促銷帶來的市場反應。
Q14語句的特點是:帶有聚集、連接操作的簡單查詢。
二、 Oracle執行
Oracle編寫的查詢SQL語句如下:
select /*+ parallel(n) */
100.00 * sum(
case when p_type like 'PROMO%'
then l_extendedprice * (1 - l_discount)
else 0
end)/ sum(l_extendedprice * (1 - l_discount)) as promo_revenue
from
lineitem,
part
where
l_partkey = p_partkey
and l_shipdate >= date '1995-04-01'
and l_shipdate < date '1995-04-01' + interval '1' month;
其中/*+ parallel(n) */ 是Oracle的並行查詢語法,n是並行數。
腳本執行時間,單位:秒
三、 SPL優化
這是一個常規的連接後求和查詢,充分利用並行即可。由於lineitem表數據量很大,組表的列存優勢較大。
SPL腳本如下:
腳本執行時間,單位:秒