pq_distribute提示通常被用于提升数据仓库中分区表间的连接操作性能。 pq_distribute提示允许你确定参与连接的表数据行在生产和消费并行查询服务进程间如何分配。 pq_distribute提示接受三个参数:表名,外分配和内分配。 当执行并行查询连接时,我们总是想着避免PARALLEL_TO_PARALLEL执行计划。PARALLEL_TO_PARALLEL操作意味着输入输出数据流都是并行的,导致连接性能低下。另一方面,PARALLEL_COMBINED_WITH_PARENT操作意味着将排序和合并操作组合进一个操作。 使用pq_distribute提示前,有些Oracle DBA通常通过删除内部表的CBO统计信息来欺骗SQL优化器,以强制采用PARALLEL_COMBINED_WITH_PARENT操作。因为SQL优化器根据这些CBO统计信息来评估候选广播表的大小。当表大于某个阈值时,表将通过PARALLEL_TO_PARALLEL 执行模式连接,这将导致很低的性能。 pq_distribute提示可以接受六个参数组合 。记住,参数顺序是外分配在前,内分配在后。 1) 、pq_distribute(tab_name, hash,hash):该组合将 表数据行 通过连接键上的哈希函数分配给 消费并行查询服务进程 。完成映射后,每 个查询服务进程 在一对结果分区间进行连接。当表大小相当且通过 哈希或排序合并实现 连接操作时,推荐使用该提示。 2) 、pq_distribute(tab_name,broadcast, none):该组合确保 外表 所有数据行被广播到每个 消费并行服务进程 ,同时,内表数据行被随机分区。 当外表比内表小很多时,推荐使用该提示 。一个重要原则是,如果内表大小乘以并行服务进程数大于外表大小,则使用broadcast/none。 3) 、pq_distribute(tab_name, none,broadcast):该组合强制 内表 所有的数据行广播给每个 消费并行查询服务进程 ,同时,外表数据行被随机分区。当内表比外表小时,推荐使用该提示。一个重要原则是,当内表大小乘以并行查询服务进程数小于外表大小时,推荐使用none/broadcase提示。 4)、pq_distribute(tab_name,partition, none):该组合通过 内表分区 来映射外表数据行,同时, 内表必须按连接键分区 。当内表分区数等于或接近并行查询服务进程数时,推荐使用该提示。 5)、pq_distribute(tab_name, none,partition):该组合通过 外表分区 来映射内表数据行,同时, 外表必须按分区键分区 。当外表分区数等于或接近并行查询服务进程数时,推荐使用该组合。 6) 、pq_distribute(tab_name, none,none):该组合中,每个并行查询服务器在一对匹配的分区间进行连接操作,每个分区来自一张表。两张表在连接键上必须分区相等。
SQL调优(SQL TUNING)并行查询提示(Hints)之pq_distribute的使用
来源:这里教程网
时间:2026-03-03 12:13:01
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- HanLP用户自定义词典源码分析
HanLP用户自定义词典源码分析
26-03-03 - orecle分析函数
orecle分析函数
26-03-03 - Windows下用命令行工具ADRCI跟踪日志文件
Windows下用命令行工具ADRCI跟踪日志文件
26-03-03 - word空白页无法删除这么办
word空白页无法删除这么办
26-03-03 - 跨平台级联dataguard配置
跨平台级联dataguard配置
26-03-03 - informatic
informatic
26-03-03 - ORACLE 递归算法
ORACLE 递归算法
26-03-03 - ORACLE JOB
ORACLE JOB
26-03-03 - SQL优化案例-使用with as优化Subquery Unnesting(七)
- ORACLE数据库备份
ORACLE数据库备份
26-03-03
