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
全部博文(173)
发布时间:2024-04-23 16:03:51
背景:一般情况下,如果子查询里含有OR或外面的WHERE条件含有OR,如果走不了disjunctive subquery unnest,则会走FILTER,效率较低,
对符合条件的disjunctive subquery,ORACLE CBO能够进行unnest,由隐含参数_optimizer_unnest_disjunctive_subq控制。
本次讨论的就是将OR子查询改写为JOIN,构造等值条件,让原来走FILTER的执行计划走HASH JOIN,大幅度提高效率。
......【阅读全文】
发布时间:2024-04-22 17:25:21
子查询转换的subquery unnest是数据库一种重要的查询转换技术,ORACLE作为有着最强大优化器(CBO)的数据库,同样在子查询转换方面有很多技术,当然限制也
较多,本文详细讲解子查询里有OR的查询转换技术,利用ORACLE CBO自身的两大查询转换技术以及手动改写方法,使用三大方法,助力OR子查询性能起飞。......【阅读全文】
发布时间:2024-04-08 22:50:44
子查询转换的subquery unnest是数据库一种重要的查询转换技术,ORACLE作为有着最强大优化器(CBO)的数据库,同样在子查询转换方面有很多技术,当然限制也
较多,本文详细讲解子查询里有OR的查询转换技术,利用ORACLE CBO自身的两大查询转换技术以及手动改写方法,使用三大方法,助力OR子查询性能起飞。......【阅读全文】
发布时间:2025-01-22 09:09:36
索引是有序存储的,查询最左或最右就可以查询最小,最大值,这是一种非常快的操作,因为min.max索引前导列,只需要从最左或最右侧
扫描到第一个非NULL值即可。
pg和mysql支持索引列min.max写在一起,会快速定位,而oracle不行,oracle可以拆分成两个标量子查询实现。
......【阅读全文】
发布时间:2024-04-07 17:27:47
ORACLE 11G支持NOT IN的NULL AWARE ANTI JOIN算法,但是相关参数要注意。......【阅读全文】