Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1515850
  • 博文数量: 191
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4053
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-30 13:00
个人简介

About me:Oracle ACE pro,optimistic,passionate and harmonious. Focus on ORACLE,MySQL and other database programming,peformance tuning,db design, j2ee,Linux/AIX,Architecture tech,etc

文章分类

全部博文(191)

文章存档

2026年(2)

2025年(17)

2024年(27)

2023年(28)

2022年(43)

2020年(62)

2014年(3)

2013年(9)

发布时间:2025-04-26 18:04:04


对子查询的优化处理能力,oracle > pg > mysql,mysql的子查询有不少优化,但是还是有很多问题。

子查询的原始语义是:

只返回主表结果,子查询只是用来进行存在性判断。
从这点看,如果子查询要转为普通join,要么join key有唯一键,要么子查询结果按照join key剔重,当然anti join不需要,
一般anti join不会自动改成left join+inner.id is null,但是可以手动实现,这种只查找不匹配的,不需要子查询join key唯一。
像ORACLE的子查询做成view然后hash unqiue就是剔重转为普通join,像MySQL的materialization,loose scan,pull out,dupsweedout都有各种
按照join key对子查询剔重的动作。......【阅读全文】

阅读(88) | 评论(0) | 转发(0)

发布时间:2025-04-26 16:56:01

Oracle 12c引入的TABLE ACCESS BY INDEX ROWID BATCHED技术是一种针对索引回表操作的优化机制,旨在减少回表过程中的物理I/O开销和资源消耗。以下从技术原理、作用、优缺点及适用场景等方面详细分析该技术。
??
?为了减少回表过滤次数,减少逐行回表,减少表数据块访问次数和index clustering factor影响,
oracle 12c推出了table access by index rowid batched,可以批量rowid回表,先索引访问,
查出rowid,然后排序,批量回表查找,避免多次回表过滤
和index clustering factor影响多次查询表数据块。。。
这时候,就不是逐行回表了,而且批量回表可能会导致索引不能消除排序,
还有批量回表,索引查找可以使用并行,请详细分析12c的batched回表技术,
解析其作用,和单行回表相比的优缺点......【阅读全文】

阅读(94) | 评论(0) | 转发(0)

发布时间:2025-04-26 16:35:20

对于使用了函数或表达式运算会导致统计信息用不上、and条件列组相关性紧密,这些情况下的cardinality可能计算不准,
导致多表JOIN的join order、join method选择不对,从而走错执行计划,这时候可以使用扩展列统计信息来优化cardinality计算。......【阅读全文】

阅读(102) | 评论(0) | 转发(0)

发布时间:2025-04-26 15:45:13

对于完全存在性判断,子查询非相关的。。。三大数据库的CBO都是差不多的处理逻辑:
非相关的希望单独执行一次即可,然后结果缓存下来,对于存在性判断的非相关子查询,希望只执行一次只查询一条。
......【阅读全文】

阅读(68) | 评论(0) | 转发(0)

发布时间:2025-04-26 15:15:07

组合索引要符合leftmost prefix规则,前导列是范围的,后续列条件不能index access,只能index filter...
但是貌似有例外:
MySQL的like后通配,between,>=,=1 and b>3,“如果a是整数”
然后索引访问实际上是拆成两份:a=1 and b>3 和a>1 and b>3,前者能真正用到两个列索引访问,后者只能用到a>1
那么,如果存在a>1的数据很少,a=1的数据多,但是a=1 and b>3的数据少,
那么where a>=1 and b>3就比a>0 and b>3的效率高,因为写成
a>0 and b>3则只能用到a>0,而a>0是等价于a>=1的。。。但是实际上访问效率不一样,......【阅读全文】

阅读(122) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

吻的感觉适2025-07-18 23:11

https://txc.qq.com/products/762795/blog/2019636
https://txc.qq.com/products/762801/blog/2019637
https://txc.qq.com/products/762763/blog/2019638
https://txc.qq.com/products/762772/blog/2019639
https://txc.qq.com/products/762790/blog/2019641
https://txc.qq.com/products/762758/blog/2019640
https://txc.qq.com/products/762786/blog/2019642
https://txc.qq.com/products/762782/blog/2019643
https://txc.qq.com/products/762757/blog/2019644
https://txc.qq.com/products/762805/blog/2019645
https://txc.qq.com/products/762785/blog/2019647
https://txc.qq.com/products/762815/blog/2019646
https://txc.qq.com/products/762787/blog/2019648
https://txc.qq.com/products/762799/blog/2019649
https://txc.qq.com/products/762775/blog/2019650
https://txc.qq.com/products/762759/blog/2019651
https://txc.qq.com/products/762770/blog/2019652
https://txc.qq.com/products/762855/blog/2019654

回复  |  举报

zhmw2020-05-27 16:10

tomcoding:Oracle DUL源代码,Logminer源代码,到我的博客看看

好的

回复  |  举报

zhmw2020-05-27 16:10

tomcoding:Oracle DUL源代码,Logminer源代码,到我的博客看看

好的

回复  |  举报

tomcoding2018-07-26 14:35

Oracle DUL源代码,Logminer源代码,到我的博客看看

回复  |  举报

电影vs程序员2013-08-22 18:16

博主,求加好友

回复  |  举报
留言热议
请登录后留言。

登录 注册