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
全部博文(169)
发布时间:2024-10-29 17:28:15
overlap重叠查找算法:
一般用子查询实现,如果用join会导致结果集重复数量增多,因为不是1对1关系,而是1行对应多行。
使用子查询自关联,比如主表a,子查询的a取个别名b,对应的有start_date,end_date以及唯一标识id以及自关联的比如这里是staff_id
......【阅读全文】
发布时间:2024-10-18 10:09:58
对于表T,有object_id,按照where object_id =:oid查询,如果传入的oid是NULL,则查询全部( 希望走全表扫描 ),相当于FROM t WHERE 1=1,如果object_id传入非NULL值( 希望走索引扫描 ),则执行查询FROM t WHERE object_id =:oid,这是常见的根据传入的值不同,执行不同条件查询的语句。......【阅读全文】
发布时间:2024-08-19 11:25:01
MySQL row constructor非等值的CBO无法改写为OR,走不了索引......【阅读全文】
发布时间:2024-05-23 16:29:04
Oracle对无法unnest的子查询、标量子查询、update关联子查询是有缓存结果优化的,一般最大缓存数目在1024个key左右,
如果outer table关联key的基数(distinct数目)很小,则可以大幅度减少子查询执行次数,具体也要看数据物理分布连续性是否强,
连续性强,减少的子查询次数越少,如果很离散存储,则子查询次数会增多。......【阅读全文】
发布时间: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......【阅读全文】