暂无图片
sql server , 两个表,相同字段,相同数据量(5000万), 执行相同的查询,一个表执行的是索引扫描,扫描5000万,耗时2分钟, 另一个表执行的是索引查找,只查找10万,耗时1秒。为什么会有这么大的差别?
我来答
分享
暂无图片 匿名用户
sql server , 两个表,相同字段,相同数据量(5000万), 执行相同的查询,一个表执行的是索引扫描,扫描5000万,耗时2分钟, 另一个表执行的是索引查找,只查找10万,耗时1秒。为什么会有这么大的差别?

另一个表做了什么设置能有这么快的速度?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
王运亮
清理执行计划缓存。 对比表:是否启用压缩,索引是否一样 统计信息:可以手工收集下统计信息 如果还不行,加索引提示是否可生成一样的执行计划? 如果还不行,继续找原因,肯定有不一样的地方。
暂无图片 评论
暂无图片 有用 0
暂无图片
刘贵宾

索引扫描:表中数据量比较大或满足谓词的行较少时,使用扫描将读取更多的页面或执行更多的I/O操作来获取数据,耗时较多

索引查找:仅扫描满足该谓词的数据页,其查询开销显然要比表中总记录数的开销低,对于估计大表中的数据时,使用查找谓词是比较有效率的,耗时少

暂无图片 评论
暂无图片 有用 0
chengang

1、看一下索引是否有区别
2、更新一下统计信息试试

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏