溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL中pq_distribute怎么用

發(fā)布時間:2021-11-10 10:24:16 來源:億速云 閱讀:416 作者:小新 欄目:關系型數(shù)據(jù)庫

這篇文章主要介紹SQL中pq_distribute怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

pq_distribute提示通常被用于提升數(shù)據(jù)倉庫中分區(qū)表間的連接操作性能。 pq_distribute提示允許你確定參與連接的表數(shù)據(jù)行在生產和消費并行查詢服務進程間如何分配。 pq_distribute提示接受三個參數(shù):表名,外分配和內分配。

當執(zhí)行并行查詢連接時,我們總是想著避免PARALLEL_TO_PARALLEL執(zhí)行計劃。PARALLEL_TO_PARALLEL操作意味著輸入輸出數(shù)據(jù)流都是并行的,導致連接性能低下。另一方面,PARALLEL_COMBINED_WITH_PARENT操作意味著將排序和合并操作組合進一個操作。

使用pq_distribute提示前,有些Oracle DBA通常通過刪除內部表的CBO統(tǒng)計信息來欺騙SQL優(yōu)化器,以強制采用PARALLEL_COMBINED_WITH_PARENT操作。因為SQL優(yōu)化器根據(jù)這些CBO統(tǒng)計信息來評估候選廣播表的大小。當表大于某個閾值時,表將通過PARALLEL_TO_PARALLEL 執(zhí)行模式連接,這將導致很低的性能。

pq_distribute提示可以接受六個參數(shù)組合 。記住,參數(shù)順序是外分配在前,內分配在后。

1) 、pq_distribute(tab_name, hash,hash):該組合將表數(shù)據(jù)行通過連接鍵上的哈希函數(shù)分配給消費并行查詢服務進程。完成映射后,每個查詢服務進程在一對結果分區(qū)間進行連接。當表大小相當且通過哈?;蚺判蚝喜崿F(xiàn)連接操作時,推薦使用該提示。

2) 、pq_distribute(tab_name,broadcast, none):該組合確保外表所有數(shù)據(jù)行被廣播到每個消費并行服務進程,同時,內表數(shù)據(jù)行被隨機分區(qū)。當外表比內表小很多時,推薦使用該提示。一個重要原則是,如果內表大小乘以并行服務進程數(shù)大于外表大小,則使用broadcast/none。

3) 、pq_distribute(tab_name, none,broadcast):該組合強制內表所有的數(shù)據(jù)行廣播給每個消費并行查詢服務進程,同時,外表數(shù)據(jù)行被隨機分區(qū)。當內表比外表小時,推薦使用該提示。一個重要原則是,當內表大小乘以并行查詢服務進程數(shù)小于外表大小時,推薦使用none/broadcase提示。

4)、pq_distribute(tab_name,partition, none):該組合通過內表分區(qū)來映射外表數(shù)據(jù)行,同時,內表必須按連接鍵分區(qū)。當內表分區(qū)數(shù)等于或接近并行查詢服務進程數(shù)時,推薦使用該提示。

5)、pq_distribute(tab_name, none,partition):該組合通過外表分區(qū)來映射內表數(shù)據(jù)行,同時,外表必須按分區(qū)鍵分區(qū)。當外表分區(qū)數(shù)等于或接近并行查詢服務進程數(shù)時,推薦使用該組合。

6) 、pq_distribute(tab_name, none,none):該組合中,每個并行查詢服務器在一對匹配的分區(qū)間進行連接操作,每個分區(qū)來自一張表。兩張表在連接鍵上必須分區(qū)相等。

以上是“SQL中pq_distribute怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

sql
AI