從 TPCH 測試學(xué)習(xí)性能優(yōu)化技巧之 Q5

一、???? 查詢要求

Q5語句查詢得到通過某個地區(qū)零件供貨商而獲得的收入(收入按sum(l_extendedprice * (1 -l_discount))計算)統(tǒng)計信息距辆。可用于決定在給定的區(qū)域是否需要建立一個當(dāng)?shù)胤峙渲行摹?/p>

Q5語句的特點是:帶有分組跨算、排序椭懊、聚集操作并存的多表連接查詢操作。


二灾搏、???? Oracle執(zhí)行

Oracle編寫的查詢SQL語句如下:

select /*+ parallel(n) */

???????? n_name,

???????? sum(l_extendedprice * (1 - l_discount)) as revenue

from

???????? customer,

???????? orders,

???????? lineitem,

???????? supplier,

???????? nation,

???????? region

where

???????? c_custkey = o_custkey

???????? and l_orderkey = o_orderkey

???????? and l_suppkey = s_suppkey

???????? and c_nationkey = s_nationkey

???????? and s_nationkey = n_nationkey

???????? and n_regionkey = r_regionkey

???????? and r_name = 'ASIA'

???????? and o_orderdate >= date '1995-01-01'

???????? and o_orderdate < date '1995-01-01' + interval '1' year

group by

???????? n_name

order by

???????? revenue desc;

其中/*+ parallel(n) */ 是Oracle的并行查詢語法,n是并行數(shù)媳板。

腳本執(zhí)行時間泉哈,單位:秒

并行數(shù)124812

Oracle672368301224225

三蛉幸、???? SPL優(yōu)化

優(yōu)化原理和Q3類似,只是涉及的外鍵表更多一些提陶。


SPL腳本如下:

A

1=1

2=now()

3>date=date("1995-01-01")

4>name="ASIA"

5=elapse@y(date,1)

6=file(path+"region.ctx").create().cursor().select(R_NAME==name).fetch()

7=file(path+"nation.ctx").create().cursor().switch@i(N_REGIONKEY, ? A6:R_REGIONKEY).fetch().keys@i(N_NATIONKEY)

8=file(path+"supplier.ctx").create().cursor@m(S_SUPPKEY,S_NATIONKEY;S_NATIONKEY:A7;A1).fetch().keys@i(S_SUPPKEY)

9=file(path+"customer.ctx").create().cursor@m(C_CUSTKEY,C_NATIONKEY;C_NATIONKEY:A7;A1).fetch().keys@i(C_CUSTKEY)

10=file(path+"orders.ctx").create().cursor@m(O_ORDERKEY,O_CUSTKEY;O_ORDERDATE>=date ? && O_ORDERDATE < A5,O_CUSTKEY:A9;A1)

11=file(path+"lineitem.ctx").create().news(A10,L_ORDERKEY,L_SUPPKEY,L_EXTENDEDPRICE,L_DISCOUNT,O_CUSTKEY;L_SUPPKEY:A8)

12=A11.select(O_CUSTKEY.C_NATIONKEY==L_SUPPKEY.S_NATIONKEY)

13=A12.groups@u(L_SUPPKEY.S_NATIONKEY.N_NAME;sum(L_EXTENDEDPRICE ? * (1 - L_DISCOUNT)):revenue)

14=A13.sort(revenue ? :-1)

15=now()

16=interval@s(A2,A15)

這里大量使用了前面題目中說過的游標(biāo)建立時過濾和將關(guān)聯(lián)字段轉(zhuǎn)換成外鍵表指針的技巧匹层。

與Q3不大相同的是,最后用于分組的字段不是已經(jīng)有序的L_ORDERKEY撑柔,所以不能再使用groups@o。


腳本執(zhí)行時間铅忿,單位:秒

并行數(shù)124812

Oracle672368301224225

SPL組表353177914934

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灵汪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子享言,更是在濱河造成了極大的恐慌,老刑警劉巖担锤,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乍钻,死亡現(xiàn)場離奇詭異,居然都是意外死亡银择,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門夹孔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來析孽,“玉大人搭伤,你說我怎么就攤上這事袜瞬。” “怎么了邓尤?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵贴谎,是天一觀的道長季稳。 經(jīng)常有香客問我,道長仲翎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任谭确,我火速辦了婚禮票渠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘问顷。我一直安慰自己,他們只是感情好肠骆,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布塞耕。 她就那樣靜靜地躺著蚀腿,像睡著了一般扫外。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上筛谚,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天驾讲,我揣著相機(jī)與錄音,去河邊找鬼吮铭。 笑死,一個胖子當(dāng)著我的面吹牛谓晌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扎谎,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼烧董,長吁一口氣:“原來是場噩夢啊……” “哼胧奔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起龙填,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤岩遗,失蹤者是張志新(化名)和其女友劉穎扇商,沒想到半個月后宿礁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡控汉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年返吻,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片测僵。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖捍靠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情希俩,我是刑警寧澤吊宋,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布拖吼,位于F島的核電站这吻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏唾糯。R本人自食惡果不足惜鬼贱,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一香璃、第九天 我趴在偏房一處隱蔽的房頂上張望这难。 院中可真熱鬧葡秒,春花似錦、人聲如沸眯牧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至禁偎,卻和暖如春阀坏,著一層夾襖步出監(jiān)牢的瞬間如暖,已是汗流浹背忌堂。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留士修,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓酒唉,卻偏偏與公主長得像沸移,于是被迫代替她去往敵國和親痪伦。 傳聞我的和親對象是個殘疾皇子雹锣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容