Oracle SQL优化实战要点解析(11)——索引、相关子查询及NL操作(1)
11.1. 充分利用索引有序特性,避免发生大表上的FTS,以及对中间大数据集的排序。
11.1.1. 适用场景
从一个或多个大表(例如:亿行级或TB级数据量)中过滤出全列大数据集(例如:数百万或千万行数据),对该大数据集按其中某列进行排序,最终,只取最前面的少部分数据(例如:数十行数据)作为最终结果输出。
11.1.2. 潜在问题
1)因为要从大表中过滤出全列大数据集,可能会导致大表或大表所有分区上的FTS。
2)因为最终结果要求按某个列排序后,取最前面的少量数据,可能导致对中间大数据集的排序操作。
3)CBO可能不会自动产生理想的执行计划。
11.1.3. 关键要点