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)都不匹配

这也是一个不错的选择

4.更多内容

关于hints pq_distribute的更多信息请参考:

关于partial partition-wise join及full partition-wise join的更多信息请参考:

Jonathan Lewis 的讨论

oracle pq distribute,详解hints PQ_DISTRIBUTE相关推荐

  1. oracle控制文件都一样么,Oracle控制文件详解

    一.Oracle控制文件 为二进制文件,初始化大小由CREATEDATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等 ...

  2. Oracle cursor_sharing 参数 详解

    一. 官网的说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams042.htm#REFRN10025 ...

  3. oracle参数文件initorcl位置,oracle 参数文件详解

    参数文件 两类参数文件: pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init.ora spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端, ...

  4. Oracle建立全文索引详解

    Oracle建立全文索引详解 1.全文检索和普通检索的区别 不使用Oracle text功能,当然也有很多方法可以在Oracle数据库中搜索文本,比如INSTR函数和LIKE操作: SELECT *F ...

  5. oracle做子查询注意事项,Oracle子查询详解

    Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...

  6. Oracle中CONCAT详解

    Oracle中CONCAT详解 1.什么是CONCAT 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写 ...

  7. oracle语句中dual什么意思,oracle中dual详解

    oracle中dual详解 基本上oracle引入dual为的就是符合语法 1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词.dual名词意思是对数,做形容词时是指二重的,二元的. 2. ...

  8. Oracle 创建用户详解(create user)

    文章目录 1 概述 2 语法 2.1 创建 2.2 查询 2.3 删除 3 扩展 3.1 表空间 1 概述 #mermaid-svg-7byksWpGx8GrQnsX .label{font-fami ...

  9. oracle中to_date详解

    oracle中to_date详解 TO_DATE格式(以时间:2007-11-02 13:45:25为例) 1. 日期和字符转换函数用法(to_date,to_char) 代码如下: select t ...

最新文章

  1. MySQL 慢查询优化
  2. R语言的一个加法函数
  3. 2017.4.5下午
  4. 修改android virtual device路径
  5. boost::hana::zero用法的测试程序
  6. 上网课的心得体会1000字_【家庭教育】家庭教育心得体会 ——济南市罗而小学家庭教育“好家风好家教”专栏(十一)...
  7. 今天开始写技术博客啦
  8. flask小demo-数据查询
  9. Java笔记(三)内部类,容器,泛型和类型安全的容器,迭代器
  10. Linux课题实践一
  11. 内联失败函数变成static函数的一些问题
  12. latex 调整表格的行高_latex 表格如何控制行高,行距,行与行之间的距离
  13. python爬取酒店评论_scrapy爬取酒店评论数据
  14. vue 基于网易云API的短信验证码登录(axios封装)
  15. 【现代通信原理笔记】6 信源编码
  16. Python-Selenium自动化登陆QQ空间
  17. 删除桌面无法删除的网页快捷方式
  18. 当你压力大到快崩溃时,不要跟任何人说,也不要觉得委屈
  19. 光端机、光纤收发器与光猫三者之间的区别介绍
  20. Linux DAC 权限管理详解

热门文章

  1. form表单非空验证
  2. [小O地图-数据] 下载世界范围的OSM地图数据
  3. Tpch-300G数据量-Oracle对应sql
  4. smtplib python教程_Python smtplib 教程
  5. 周末杂谈:在MYSQL中,添加数据行后,使用右外连接查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,表中没有的课程列值为空的解决方法
  6. 车路协同服务平台框架
  7. 网络渗透与指纹识别(信安1班 李静)
  8. 老叶倡议:MySQL压力测试基准值
  9. 比auto.js更强大、更简单的一站式辅助解决方案「冰狐智能辅助」
  10. 2007年(第六届)中国软件业务收入前百家企业名单