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
全部博文(176)
发布时间:2023-05-06 09:57:46
今天研究下视图里含有rownum会导致无法view merge,条件无法推入到视图里,从而导致无法走索引等。......【阅读全文】
发布时间:2023-05-05 16:45:00
查询转换器根据版本不同有一系列规则,并且有基于规则(启发式)的查询转换和基于成本的查询转换两种技术。启发式是针对结构简单的SQL,ORACLE认为进行查询转换,肯定比不进行查询转换好,比如simple view merging.复杂的SQL,比如complex view merging,会考虑COST,转换后的COST比不转换的低才会转换。......【阅读全文】
发布时间:2023-05-04 17:14:44
对于遇到CBO优化器限制的语句,必须想办法绕过这个限制,可以从业务设计、语句改写等方面着手解决。......【阅读全文】
发布时间:2023-05-04 16:32:57
FILTER操作中子查询执行次数问题
1. 一般情况下,FILTER操作会根据条件保存已匹配的结果,最多保存1024个
2. 因此会根据值的distinct数目决定子查询执行次数,但是如果比较列是无序存储的,则数目可能大于distinct数目(HASH表可能内部剔除已缓存的值),这就导致可能同类型表,有的SQL快,有的SQL慢。
3. 解决这个问题,就是通过改写或者增加约束,让其走HASH JOIN,特别是NOT IN情况下。......【阅读全文】