mysql 索引哪些情况会失效
一、对列使用函数 如:substring()。
二、对列进行运算 如: +-*/
三、LIKE操作,匹配左侧。
四、某些情况使用反向操作,该列的索引将不起作用。如:字段名 <> 2;
五、在WHERE中使用OR时,有一个列没有索引 ;
六、隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误。
七、使用not in ,not exist等语句时。
八、当变量采用的是times变量,而表的字段采用的是date变量时.或相反情况。
九、当B-tree索引 is null不会失效,使用is not null时,会失效,位图索引 is null,is not null 都会失效。
十、联合索引 is not null 只要在建立的索引列(不分先后)都会失效。