SQL性能调优之索引失效

在sql性能调优时索引是提高sql性能的利器,可是在某些状况下索引会失效。sql

笔者整理了四种状况会引发索引失效:ide

一、查询条件使用函数在索引列上,或者对索引列进行运算,运算包括(+,-,,/,! 等) 错误的例子:select from test where id-1=9; 正确的例子:select * from test where id=10;函数

二、隐式转换致使索引失效.(这一点应当引发重视.也是开发中常常会犯的错误). 因为表的字段定义为varchar(20),但在查询时把该字段做为number类型以where条件传,这样会致使索引失效. 错误的例子:select from test where tu_mdn=13333333333; 正确的例子:select from test where tu_mdn='13333333333';性能

三、like "%_" 百分号在前;索引

四、若是列类型是字符串,那必定要在条件中将数据使用引号引用起来,不然不使用索引;开发

相关文章
相关标签/搜索