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
全部博文(172)
发布时间:2024-12-01 10:50:34
分区pruning是分区里的重要,通过partition pruning可以只访问需要的分区,实现减少IO的目的,
如果不能partition pruning,则可能全表(分区)访问,因为分区表一般很大,很显然IO很多,效率低,
当然,如果全表(分区)访问,如果有索引,也可能走索引提高效率的。
另外就算不能分区pruning,如果全局分区索引,如果走全局分区索引,也可能利用到索引分区裁剪。分区裁剪分为表分区裁剪、索引分区裁剪。
......【阅读全文】
发布时间:2024-12-01 10:29:35
分页查询必须有COUNT STOPKEY裁剪,另外要使用索引消除排序才是最高效的。注意取前N行和第M到第N行的两重嵌套和三重嵌套写法。
......【阅读全文】
发布时间: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,走不了索引......【阅读全文】