资讯专栏INFORMATION COLUMN

标量子查询执行计划分析及12C优化新特性

IT那活儿 / 1552人阅读
标量子查询执行计划分析及12C优化新特性

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!

1

量子查询特点及特殊执行计划

1.1 量子查询执行计划
1)标量子查询的计划和普通计划的执行顺序不同,执行计划中标量子查询虽然在上面,但是它由下面的节点驱动,每行驱动查询一次标量子查询,而普通执行计划是下面的节点受上面节点驱动。(具体见下面示例分析)
2)标量子查询和FILTER类似,如果是它们引起的性能问题,要重点关注是否是执行子查询的次数过多导致查询的效率不高。

3)标量子查询和FILTER类似,它会根据输入和输出构建HASH表缓存键值对,已经查询过的键值对直接从缓存中查找,不用再次执行子查询,从而减少子查询的次数达到优化的目的,10g和11g缓存的是255个HASH BUCKETS,12C是1024个HASH BUCKETS。

如下所示:
从上面可以看出,标量子查询执行计划和普通执行计划不一样,它上面节点的是被下面节点驱动的,类似FILTER,谓词部分有系统绑定变量:B1,本例中ID 1-9属于标量子查询部分,它由ID=10的节点驱动,ID=10的结果集影响ID 1-9标量子查询的执行次数,标量子查询执行次数还和缓存有关,也就是ID=10的关联条件CUST_ID的DISTINCT数目。
下面探讨下标量子查询特点以及优化方法,对标量子查询的优化首选方式就是改写。
1.2 标量子查询特点
子查询执行次数依赖于关键条件DISTINCT数目,重复值越多,效率越好,反之,效率差。
如下所示:
从上面执行计划可以看出,虽然驱动的A-ROWS有108K行,但是因为distinct数目是11,实际上标量子查询只执行11次,由此可以看出,ORACLE内部构建了缓存存储键值对,从而减少子查询执行次数,达到优化目的。

2

标量子查询优化方法


标量子查询的改写:减少标量子查询次数、改为外连接使用JOIN。
2.1 减少子查询执行次数
2.2 将标量子查询改为外连接
其中改为外连接也是12C对标量子查询优化的新特性。

3

12C标量子查询优化新特性 


如前面所示,在12c之前,对于scalary subquery是无法unnest的,这样就导致标量子查询的执行次数受驱动表行数的影响,类似FILTER操作,而且scalary subquery的执行计划和普通执行计划不一样。
select dname,
       (select max(b.sal) from scott.emp b where b.deptno = a.deptno)
  from scott.dept a;
12C对标量子查询的优化如下:
  

12C优化改进其实将标量子查询内部改成OUTER JOIN,从而充分利用JOIN算法进行优化提高效率,注意12C针对标量子查询的优化只对于max,min,avg单个有效(类似max||min等组合的无效),对count、查询列等无效,并且受参数_optimizer_unnest_scalar_sq控制。


本文作者:丁 俊

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129597.html

相关文章

  • TiDB 在平安核心系统的引入应用

    摘要:年月日,平安科技数据库产品资深工程师何志勇在第十届数据库技术大会上分享了在平安核心系统的引入及应用,通过对进行测试,详细解析如何选择适用于金融行业级别的开源分布式数据库,以及平安财神节活动中引入的全流程应用实践案例分享。 作者:何志勇本文转载自公众号「平安科技数据库产品团队」。 2019 年 5 月 9 日,平安科技数据库产品资深工程师何志勇在第十届数据库技术大会 DTCC 上分享了《...

    hss01248 评论0 收藏0
  • 中国互联网发展之5G、人工智能、云计算、大数据等兴科技发展状况

    摘要:截至年月,全国已有个省区市发布了人工智能规划,其中个制定了具体的产业规模发展目标。年我国企业相继发布人工智能芯片。五大数据发展情况在促进大数据发展行动纲要等政策的指 showImg(http://upload-images.jianshu.io/upload_images/13825820-5b1886a2a4a6c96f.jpg?imageMogr2/auto-orient/stri...

    learn_shifeng 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<