不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
同样的表,同样的索引,同样的sql语句,sql2000/2005执行计划却不相同
编辑:dnawo 日期:2010-05-11
分别在sql2000/2005建了同样的表:
都在Name字段上建了个非聚集不唯一的索引(IX_Name),执行同样的语句:
sql2000显示估计的执行计划:

sql2005显示估计的执行计划:

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

这回用上IX_Name了!
复制内容到剪贴板
程序代码

create table Student
(
ID int identity(1,1) primary key,
Name nvarchar(20),
Age int
)
(
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 | 引用: 0 | 查看次数: 3964
发表评论
请登录后再发表评论!