oracle pq distribute,详解Oracle hints PQ_DISTRIBUTE
PQ_DISTRIBUTE是并行的hints中稍微復雜一點的一個
下面就這個hints做以下說明:
1.使用格式
/+ PQ_DISTRIBUTE(tablespec outer_distribution inner_distribution )/
tablespec:表名
outer_distribution:外表如何分割
inner_distribution:內表如何分割
2.選項說明
(1)HASH, HASH
當兩個表大小相當而且是采用hash-join 或 sort merge join時將每個表的連接鍵hash到不同的查詢服務器
hash完成之后 查詢服務器將只在成對匹配的partition之間做join
(2)BROADCAST, NONE
當外表比內表小的多 或者至少inner table size * number of query servers > outer table size
外表的所有行被廣播到每一個的查詢服務器
內表的行被隨機分區
(3)NONE, BROADCAST
當內表比外表小的多 或者至少inner table size * number of query servers < outer table size
內表的所有行被廣播到每一個查詢服務器
外表被隨機分區
(4)PARTITION, NONE
內表必須在連接鍵上分區
外表的所有行被重新分區以和內表匹配
通常在外表的分區數量和查詢服務器個數接近相等時使用
(5)NONE, PARTITION
外表必須在連接鍵上分區
內表的所有行被重新分區以和外表匹配
通常在內表的分區數量和查詢服務器個數接近相等時使用
(6)NONE, NONE
所有的表必須在連接鍵上對等分區
每個查詢服務器只需和自己匹配的分區執行join操作
3.jcq0的分析
最佳連接:(6)這種情況是full partition-wise join 次佳連接:(4)(5)這種情況是 partial partition-wise join (2)(3)當做連接時的一個表非常小時,可以采用BROADCAST方式; 次次連接:(1)如果兩個表的分區情況,大小情況和(2)(3)(4)(5)(6)都不匹配,這也是一個不錯的選擇
總結
以上是生活随笔為你收集整理的oracle pq distribute,详解Oracle hints PQ_DISTRIBUTE的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 恢复win7快速启动栏
- 下一篇: 谷歌SEO考虑富媒体文件
