這篇文章主要介紹SQL中pq_distribute怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
10年積累的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有湘鄉(xiāng)免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。pq_distribute提示通常被用于提升數(shù)據(jù)倉庫中分區(qū)表間的連接操作性能。 pq_distribute提示允許你確定參與連接的表數(shù)據(jù)行在生產(chǎn)和消費并行查詢服務(wù)進程間如何分配。 pq_distribute提示接受三個參數(shù):表名,外分配和內(nèi)分配。
當執(zhí)行并行查詢連接時,我們總是想著避免PARALLEL_TO_PARALLEL執(zhí)行計劃。PARALLEL_TO_PARALLEL操作意味著輸入輸出數(shù)據(jù)流都是并行的,導(dǎo)致連接性能低下。另一方面,PARALLEL_COMBINED_WITH_PARENT操作意味著將排序和合并操作組合進一個操作。
使用pq_distribute提示前,有些Oracle DBA通常通過刪除內(nèi)部表的CBO統(tǒng)計信息來欺騙SQL優(yōu)化器,以強制采用PARALLEL_COMBINED_WITH_PARENT操作。因為SQL優(yōu)化器根據(jù)這些CBO統(tǒng)計信息來評估候選廣播表的大小。當表大于某個閾值時,表將通過PARALLEL_TO_PARALLEL 執(zhí)行模式連接,這將導(dǎo)致很低的性能。
pq_distribute提示可以接受六個參數(shù)組合 。記住,參數(shù)順序是外分配在前,內(nèi)分配在后。
1) 、pq_distribute(tab_name, hash,hash):該組合將表數(shù)據(jù)行通過連接鍵上的哈希函數(shù)分配給消費并行查詢服務(wù)進程。完成映射后,每個查詢服務(wù)進程在一對結(jié)果分區(qū)間進行連接。當表大小相當且通過哈?;蚺判蚝喜崿F(xiàn)連接操作時,推薦使用該提示。
2) 、pq_distribute(tab_name,broadcast, none):該組合確保外表所有數(shù)據(jù)行被廣播到每個消費并行服務(wù)進程,同時,內(nèi)表數(shù)據(jù)行被隨機分區(qū)。當外表比內(nèi)表小很多時,推薦使用該提示。一個重要原則是,如果內(nèi)表大小乘以并行服務(wù)進程數(shù)大于外表大小,則使用broadcast/none。
3) 、pq_distribute(tab_name, none,broadcast):該組合強制內(nèi)表所有的數(shù)據(jù)行廣播給每個消費并行查詢服務(wù)進程,同時,外表數(shù)據(jù)行被隨機分區(qū)。當內(nèi)表比外表小時,推薦使用該提示。一個重要原則是,當內(nèi)表大小乘以并行查詢服務(wù)進程數(shù)小于外表大小時,推薦使用none/broadcase提示。
4)、pq_distribute(tab_name,partition, none):該組合通過內(nèi)表分區(qū)來映射外表數(shù)據(jù)行,同時,內(nèi)表必須按連接鍵分區(qū)。當內(nèi)表分區(qū)數(shù)等于或接近并行查詢服務(wù)進程數(shù)時,推薦使用該提示。
5)、pq_distribute(tab_name, none,partition):該組合通過外表分區(qū)來映射內(nèi)表數(shù)據(jù)行,同時,外表必須按分區(qū)鍵分區(qū)。當外表分區(qū)數(shù)等于或接近并行查詢服務(wù)進程數(shù)時,推薦使用該組合。
6) 、pq_distribute(tab_name, none,none):該組合中,每個并行查詢服務(wù)器在一對匹配的分區(qū)間進行連接操作,每個分區(qū)來自一張表。兩張表在連接鍵上必須分區(qū)相等。
以上是“SQL中pq_distribute怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!