在实践中ORACLE数据库复合索引设计不合理可能会引发性能问题。数据

通常对于复合索引,库复优先将选择性最高的合索字段放在第一位。
建立复合索引时,问题要充分考虑各字段的数据筛选度,将筛选性更好的库复字段排在前面。
筛选度可参考"count(distinct A)/count(*)"或在dba_tab_col_statistics视图查看num_distinct,合索唯一值越多,问题则筛选度就越高,数据也称为可选择性越高,库复反之亦然。合索
整改方式,问题请确认是数据否测试环境的表数据分布情况与生产相同或相似,b2b信息网如非数据原因造成的库复问题,建议调整索引字段1和字段2的合索顺序,将说明字段4放到说明字段3前。
在准备调整复合索引字段顺序前,有必要了解复合索引使用的一个重要原则:复合索引最左原则。
复合索引最左原则:即where条件只有使用到最左边索引列的时候,复合索引才可能被使用到。通常,设计复合索引时,我们需要综合表上数据访问特点、访问频率来设计复合索引中的字段顺序,以使一个索引尽量服务于更多的网站模板SQL访问请求。
所以,仅根据字段可选性的高低来调整字段顺序是不严谨的,还需要确认原有索引的使用情况,需确保调整后,不会有SQL无索引可用,或性能下降是可接受的。如不能确认,建议不做改动。如确有需要,就新建一个索引吧。源码库


相关文章
精彩导读
热门资讯
关注我们
