欢迎光临

木子屋

标题: 同样的表，同样的索引，同样的sql语句，sql2000/2005执行计划却不相同

作者: dnawo

日期: 2010-05-11 04:26 PM

分类: 服务器

内容: 分别在sql2000/2005建了同样的表：
复制内容到剪贴板 程序代码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)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.549 ms

返回

标题: 同样的表，同样的索引，同样的sql语句，sql2000/2005执行计划却不相同

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.549 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.566 ms

返回