為生成高效的執(zhí)行計劃,查詢優(yōu)化器" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時代 > 執(zhí)行計劃生成(數(shù)據(jù)庫)

執(zhí)行計劃生成(數(shù)據(jù)庫)

時間:2022-12-07 10:30:01 | 來源:信息時代

時間:2022-12-07 10:30:01 來源:信息時代

    執(zhí)行計劃生成 : DBMS為用戶的查詢請求生成執(zhí)行計劃的過程,是DBMS查詢優(yōu)化器的主要任務(wù)。一個查詢的執(zhí)行計劃確定了DBMS查詢執(zhí)行引擎執(zhí)行該查詢的方式。
為生成高效的執(zhí)行計劃,查詢優(yōu)化器一方面要合理選擇單個操作符的操作算法,確定需要的緩沖區(qū)大小,以及選擇滿足交換律和結(jié)合律的操作符的操作順序等,同時還需要考慮整個查詢樹的執(zhí)行方式和執(zhí)行順序,主要包括父子結(jié)點間傳遞中間結(jié)果的方式和計劃樹的執(zhí)行順序。
子結(jié)點向父結(jié)點傳遞中間結(jié)果可能是以實體化方式,也可能是以流水線方式。當(dāng)內(nèi)存不足時,或父子操作符之間存在天然的阻塞關(guān)系時,子結(jié)點需要以實體化方式向父結(jié)點傳遞中間結(jié)果,即子結(jié)點的輸出結(jié)果將以臨時文件形式寫到磁盤上,父結(jié)點必須在子結(jié)點執(zhí)行結(jié)束后才可以開始執(zhí)行,并去磁盤上讀取子結(jié)點產(chǎn)生的輸出數(shù)據(jù)作為其輸入。子結(jié)點以流水線方式向父結(jié)點傳遞中間結(jié)果時,子結(jié)點操作符的輸出將寫到內(nèi)存緩沖區(qū)中,父結(jié)點操作符從緩沖區(qū)讀數(shù)據(jù),父子操作符可以并行執(zhí)行,而不必等待子操作符執(zhí)行結(jié)束。
例如, 對于關(guān)系代數(shù)操作:πA.BR.C<10(R⋈S)),其對應(yīng)的查詢計劃樹如圖1所示。


圖1 查詢計劃樹示例


當(dāng)采用實體化方法時,從計劃樹的最底層操作符開始,即對關(guān)系R做選擇操作,并將中間結(jié)果存儲在臨時關(guān)系T1中。然后執(zhí)行樹的高一層操作,即連接操作,連接操作的一個輸入來自前面建立的臨時關(guān)系T1,另一個輸入來自數(shù)據(jù)庫表S,連接結(jié)果將再次寫入臨時關(guān)系T2。最后計算根結(jié)點的運算,即投影運算,其輸入來自連接操作產(chǎn)生的臨時關(guān)系T2,之后得到最終結(jié)果。在實體化方法中,每個操作的中間結(jié)果將實體化為一個臨時關(guān)系,寫到磁盤上去,以其作為輸入的高一層操作再到磁盤上將該臨時關(guān)系讀到內(nèi)存,因此I/O代價比較高。
當(dāng)采用流水線方法時,選擇操作的輸出放在內(nèi)存中,當(dāng)選擇操作產(chǎn)生了一個或多個數(shù)據(jù)塊時,就可以開始連接操作。當(dāng)關(guān)系S全部與這些塊匹配后,這些中間結(jié)果就可以丟棄。選擇操作可以接著再產(chǎn)生一塊或多塊輸出。連接操作生成的結(jié)果也不需要寫入外存,而是直接投影輸出。
當(dāng)確定了父子操作間傳遞數(shù)據(jù)的方式后,查詢執(zhí)行器需要將查詢執(zhí)行計劃樹按照父子結(jié)點間的實體化關(guān)系,以前序遍歷的順序?qū)⒂媱潣浞殖扇舾煽米訕?并按此順序依次執(zhí)行各子樹。每個子樹內(nèi)部的各結(jié)點可以按流水線方式同時執(zhí)行,子樹之間按實體化方式順序執(zhí)行。最后根結(jié)點的輸出即是得到的最終查詢結(jié)果。
例如,對于圖2的查詢計劃,假設(shè)各個表都比較大,無法放入內(nèi)存,需要采用兩趟Hash Join算法進(jìn)行連接,即第一趟將要連接的外表和內(nèi)表按照連接屬性的Hash值分成n個可獨立連接對,然后在第二趟分別對n個可獨立連接對進(jìn)行連接。這時各個連接操作符之間必須以實體化的方式執(zhí)行。不嚴(yán)格地說,該查詢計劃被劃分成如圖3所示的三棵子樹,查詢執(zhí)行器將按從左至右的順序執(zhí)行這些子樹,而每一棵子樹的執(zhí)行均采用流水線方式。


圖2 多表連接的查詢計劃樹示例



圖3 分解后的查詢計劃樹

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉