准备信息:
表:TABLE1,有一列为SEQ_ORD。
索引:在SEQ_ORD列上有一个NORMAL索引NONUNI_INDEX【nonunique】
问题:
测试语句:
SELECT SUM(SEQ_ORD) FROM TABLE1 WHERE SEQ_ORD>100;
第一次运行的时候,发现执行计划走的是全表扫描,并没有走索引。执行计划如下图:
于是,我在语句中添加了/*+INDEX(TABLE1 NONUNI_INDEX)*/的提示,让优化器能够走索引。执行计划如下图:<
本文通过一个性能优化案例,展示了当执行计划选择全表扫描而非索引时的原因。在对名为TABLE1的表进行查询时,尽管存在SEQ_ORD列上的非唯一索引NONUNI_INDEX,但初始执行计划选择了全表扫描。分析发现,高聚簇因子导致索引使用效率低下,增加额外成本。通过重建索引,降低了聚簇因子,从而显著提升了查询性能。
准备信息:
表:TABLE1,有一列为SEQ_ORD。
索引:在SEQ_ORD列上有一个NORMAL索引NONUNI_INDEX【nonunique】
问题:
测试语句:
SELECT SUM(SEQ_ORD) FROM TABLE1 WHERE SEQ_ORD>100;
第一次运行的时候,发现执行计划走的是全表扫描,并没有走索引。执行计划如下图:
于是,我在语句中添加了/*+INDEX(TABLE1 NONUNI_INDEX)*/的提示,让优化器能够走索引。执行计划如下图:<

被折叠的 条评论
为什么被折叠?