從 TPCH 測試學習性能優化技巧之 Q14

一、 查詢要求

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是並行數。

腳本執行時間,單位:秒

從 TPCH 測試學習性能優化技巧之 Q14

三、 SPL優化

這是一個常規的連接後求和查詢,充分利用並行即可。由於lineitem表數據量很大,組表的列存優勢較大。

SPL腳本如下:

從 TPCH 測試學習性能優化技巧之 Q14

腳本執行時間,單位:秒

從 TPCH 測試學習性能優化技巧之 Q14


分享到:


相關文章: