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)
发布时间:2024-05-23 16:11:26
在MySQL里执行计划对子查询no unnest subquery的有:SUBQUERY、DEPENDENT SUBQUERY、UNCACHEABLE SUBQUERY。
文档上说DEPENDENT SUBQUERY和UNCACHEABLE SUBQUERY不同,DEPENDENT SUBQUERY对于外部的每个不同的关联key
执行一次子查询,UNCACHEABLE SUBQUERY意思是没有缓存,也就是外部的每行执行一次子查询。
文档10.8.2 EXPLAIN Output Format:
DEPENDENT SUBQUERY evaluation differs from UNCACHEABLE SUBQUERY evaluation.
For DEPENDENT SUBQUERY, the subquery is re-evaluated only once for each set of different values of the variables from its outer context.
For UNCACHEA......【阅读全文】
发布时间:2024-05-23 15:49:04
在MySQL里执行计划对子查询no unnest subquery的有:SUBQUERY、DEPENDENT SUBQUERY、UNCACHEABLE SUBQUERY。
文档上说DEPENDENT SUBQUERY和UNCACHEABLE SUBQUERY不同,DEPENDENT SUBQUERY对于外部的每个不同的关联key
执行一次子查询,UNCACHEABLE SUBQUERY意思是没有缓存,也就是外部的每行执行一次子查询。
文档10.8.2 EXPLAIN Output Format:
DEPENDENT SUBQUERY evaluation differs from UNCACHEABLE SUBQUERY evaluation.
For DEPENDENT SUBQUERY, the subquery is re-evaluated only once for each set of different values of the variables from its outer context.
For UNCACHEA......【阅读全文】
发布时间:2024-05-13 17:31:18
本文主要研究下组合索引包含in条件(多个值),在单表查询,关联查询这两种SQL查询结果在ORACLE和MySQL里的区别。
ORACLE具有强大的优化器,一般来说,组合索引在ORACLE里不管是单表还是关联查询,都可以选择最佳执行计划,只要统计信息等
是准确的。
MySQL的优化器相对来说,要弱不少,很多功能不够健全,单表对于组合索引包含IN的处理貌似没有什么问题,但是JOIN情况下,
包含IN LIST组合索引的表是被驱动表,则问题比较严重,卖个关子,详细见本文MySQL部分讲述。......【阅读全文】
发布时间:2025-04-26 18:19:17
mysql执行计划里索引访问算子和oracle的不同之处
1.mysql Index range scan算子包括index access,index filter(ICP),回表不带过滤的时间,
如果有额外的过滤条件,有Filter算子,过滤时间算在这里面。
ICP如果能大幅度减少回表的行,也就减少了回表的随机IO,则效率提升明显。
2.估算的rows实际上是访问方法扫描的行数,对应普通explain的rows,不包括ICP以及回表过滤filtered,不是结果行数,
这个实际上和oracle不一样,oracle的rows/cardinality是整个条件结果行数
3.mysql的analyze的actual rows则包括过滤条件,所以估算的rows和actual rows实际上标准不统一,是缺陷
通过估算的rows可以看到索引index access效率,比如访问行数多,则效率低,然后actual rows少,说明要么走ICP,要么组合索引顺序非最佳
index访问,过滤,回表效率比较:ind......【阅读全文】
发布时间:2025-04-26 18:11:55
对于不能merge的view/derived table/ct
mysql不支持jppd谓词推入,只支持单独的过滤谓词推入到view里,只支持单独过滤谓词推入到union all视图(mysql8支持)、group by等视图里,
不支持join谓词推入不能merge的视图,比如union all视图,group by视图里
mysql join谓词不能推入到union all视图里,直接materialize化,性能差
......【阅读全文】
吻的感觉适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