Oracle组合索引顺序导致的性能问题
代码中使用merge into的方式对正式表进行新增或修改,on条件使用的字段是唯一索引,hint也指定了唯一索引,但是实际执行发现还是很慢,查看执行计划发现走的是索引全扫描。问题:组成唯一组合索引的字段顺序将
最大纬度的字段放在了前面,将最小纬度的字段放在了后面,比如location_name + school_name + student_name。
将唯一索引修改为student_name + school_name + location_name后,性能显著提升,执行计划也是索引唯一扫描