在sql server中,使用索引可以快速访问到数据库中的信息,这也是优化SQL查询速度最常用也是最有效的方法。
创建了索引后,是不是所有Select语句都会用到索引呢?
当然不是了,不好的sql语句的写法往往会使SQL引擎无法使用索引,从而失去了查询速度上的优势。
比如下面这些sql查询语句,虽然有索引,但都没有起到索引的作用,大家可以参考看看。
1,对索引列使用了函数或计算
假如表table1的索引列是id,但如下语句会使索引无效
2,对索引列使用了Like ‘%X’或Like ‘%X%’
引用上面的表,如下语句也会使索引无效
3,在组合索引的第1列不是使用最多的列
4,在where子句中使用了In(子查询)
如下语句会使索引无效
5,数据类型转换将导致不能利用索引
如下语句会使索引无效
6,负向比较将导致不能利用索引
如下语句会使索引无效
一点小经验,总结一下,分享出来,供大家参考。
在以后遇到sql server索引时,记得留意这些问题哦。