mssql sqlserver 脚本不走索引的情况说明


摘要:
下文分析几种sql脚本不走索引的情况,如下所示
以下所描述的情况,在sqlserver 2008 R2中,会走索引扫描操作,用户需根据实际情况,进行相关测试



一、sql脚本索引异常的情况说明

通常sql脚本不走索引分为以下几种情况:
1.查询条件的数据类型异常,sql内部无法采用索引查找操作
2.列在检索时,进行函数运算,sql会认为是新列,既不走索引
3.统计信息异常,导致sql引擎误判信息,既不走索引
4.sql引擎预估走索引无效率提升时,既不走索引
5.列上有值为null ,当使用 count(*)不走索引查找

举例说明常见不走索引的操作:

   select count(*) from [表名]     --实际测试 走索引扫描
  select count(*) from  [表名]   where left([列名],1) >1  --走索引扫描