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的使用相关推荐

  1. 十分钟释疑Oracle中“小表超慢”之谜(SQL调优/SQL优化)

    前几天,一个用户找到我,说查一个小表的时候非常慢,我问有多慢,他说最快也得半个小时才能出结果,有时干脆不出结果,我说小表多大,他说就几十兆,有点疑惑,让他帮忙获取了相关信息,一看就明白了,原来所谓的小 ...

  2. MYSQL 之 SQL 调优

    SQL 调优 不适用子查询 SELECT * FROM t1 WHERE id (SELECT id FROM t2 WHERE name='hechunyang'); 子查询在 MYSQL5.5 版 ...

  3. Oracle Hints,Oracle并行模式(Parallel) /*+parallel(t,4)*/ 在SQL调优中的重要作用

    /*+parallel(t,4)*/在SQL调优中的重要作用! 2013年11月17日 12:59:24 雾里看花5566 阅读数:5422更多 个人分类: 数据库-oracle 谈谈HINT /*+ ...

  4. 11g新特性-自动sql调优(Automatic SQL Tuning)

    11g新特性-自动sql调优(Automatic SQL Tuning) 在Oracle 10g中,引进了自动sql调优特性.此外,ADDM也会监控捕获高负载的sql语句. 在Oracle 11g中, ...

  5. Oracle中SQL调优(SQL TUNING)之最权威获取SQL执行计划大全

    该文档为根据相关资料整理.总结而成,主要讲解Oracle数据库中,获取SQL语句执行计划的最权威.最正确的方法.步骤,此外,还详细说明了每种方法中可选项的意义及使用方法,以方便大家和自己日常工作中查阅 ...

  6. 《高性能SQL调优精要与案例解析》一书谈主流关系库SQL调优(优化TUNING)技术精髓之——执行计划获取及理解

    <高性能SQL调优精要与案例解析>中,主要以Oracle为样本讲解了SQL调优(优化&TUNING),其中,前面博文中本人也说到,就SQL调优的思路.方法和步骤来说,各关系库几乎是 ...

  7. oracle sql 分区查询语句_Oracle SQL调优之分区表

    一.分区表简介 分区通过让您将它们分解为更小且更易于管理的分区(称为分区)来解决支持非常大的表和索引的关键问题.不需要修改SQL查询和DML语句以访问分区表.但是,在定义分区之后,DDL语句可以访问和 ...

  8. SQL调优指南笔记6:Explaining and Displaying Execution Plans

    本文为SQL Tuning Guide第6章"解释和显示执行计划"的笔记. 了解如何解释SQL语句并显示其计划对于 SQL 调优至关重要. 重要基本概念 row source tr ...

  9. SQL调优指南笔记19:Influencing the Optimizer

    本文为SQL Tuning Guide第19章"Influencing the Optimizer"的笔记. 重要基本概念 driving table The table to w ...

  10. 这些SQL调优小技巧,你学废了吗?

    推荐:本文转载自"老虎刘".敢于对技术网红文提出质疑,并给出有效评论和批复,刘哥走在了我们前面. Oracle 原厂优化组组长,严谨治学,敬畏技术,在刘哥身上,你可以看到热情,热血 ...

最新文章

  1. 【转载】Real6410 Linux 常见问题总结(截至2010/07/26)
  2. linux计划任务作业
  3. python 回溯法 子集树模板 系列 —— 5、取物搭配问题
  4. 自定义母版页之列表过滤菜单位置issue fix
  5. 虚幻4皮肤材质_虚幻4渲染编程(材质编辑器篇)【第六卷:各向异性材质amp;玻璃材质】...
  6. 详解Python操作Excel文件
  7. 过分的谜题 模拟+思维题
  8. PDA地下电缆巡检系统
  9. JS错误 theForm.submit();SCRIPT3: 找不到成员。
  10. 学生信息管理系统——C语言版
  11. 思科模拟器Cisco Packet Tracer安装指南
  12. 汽车之家各种车型参数爬虫
  13. Java Cryptography
  14. C++ 批量图片拼接
  15. Java8时间类Instant及ZoneId,ZoneOffset用法
  16. Python——提取复数类型的数组的的实数部分和虚数部分
  17. 在python培训价格
  18. 软件工程项目总结文档
  19. android 银联插件,Android版添加phonegap-银联支付插件教程
  20. siki Unity - A计划

热门文章

  1. DeepLearing—CV系列(二十二)——DCGAN生成动漫卡通人脸的Pytorch实现
  2. [POJ2352] Stars 夜空星辰 - 树状数组
  3. 聊聊微服务架构中的多级缓存设计
  4. 《大明王朝》不断被征服的谭纶
  5. 小米洪锋:跟7000万MIUI用户谈谈
  6. C# 获取微信二维码
  7. 微信小程序实现多语言方案|中英互译
  8. Pytorch kaggle 房价预测实战
  9. 【Python成长之路】快速理解复制、浅拷贝、深拷贝
  10. 高可用架构设计(3) -电商商品详情页缓存背景及框架说明