create table Student
(
ID int identity(1,1) primary key,
Name nvarchar(20),
Age int
)都在Name字段上建了个非聚集不唯一的索引(IX_Name),执行同样的语句:
select * from student where name like 'zhang%'sql2000显示估计的执行计划:

sql2005显示估计的执行计划:

很明显,sql2000使用了IX_Name,sql2005却没有使用IX_Name。网上的答案是:当数据量少时,sql2005优化器计算出还没有要用到索引的程度,此时选择使用聚集索引扫描了。
随即插入10w条数据,sql2005估计的执行计划:

这回用上IX_Name了!
评论(0)
暂无评论。