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