为了账号安全,请及时绑定邮箱和手机立即绑定

记一次数据库时间范围搜索慢的原因

记一次数据库时间范围搜索慢的原因

料青山看我应如是 2018-08-07 07:11:42
今天遇到一个很奇葩的问题,也可能是自己的经验不足。。。select ID,Name,AddTime from Tab with(nolock) where AddTime>= '2017-10-01' AND AddTime<='2017-12-01' 搜索的时候竟然用了两秒钟,当然是建了索引的(非聚集索引),这个时候搜索竟然 聚集索引扫描........然后通过加了一个语句,提升到了19毫秒SELECT ID,Name,AddTime FROM Tab WITH(NOLOCK) WHERE AddTime>= '2017-10-01' AND AddTime<='2017-12-01' ORDER BY AddTime DESC 使用的是MsSqlserver然后在网上找了一些资料也不能找到原因。了解的大神们,懂得留个言。再次谢过
查看完整描述

1 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

通常是走AddTime索引,但不知道为什么SQL Server现在认为走聚集索引扫描会比AddTime索引快,建议的解决方法:在AddTime索引中包含Name列

查看完整回答
反对 回复 2018-08-23
  • 1 回答
  • 0 关注
  • 656 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信