变量参数导致sql不走索引,有什么建议吗

足球不是方的 2018-07-23 02:20:15
类型1:

类型2:



为什么会出现这种情况,变量参数会导致不走索引吗?
...全文
615 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shinger126 2018-07-26
  • 打赏
  • 举报
回复
https://www.cnblogs.com/slade/archive/2012/04/29/2476463.html
使用变量的话,查询语句编译时并不做SET操作,MS SQL在这种情况总按照一个固定的估计值再产生执行计划(即30%),所以做一个全表扫描更划算。所以强制重编译就可以走索引了
吉普赛的歌 2018-07-23
  • 打赏
  • 举报
回复
select * from t as A with(nolock) 
where a.endtime>=@t1 and a.endtime<@t2
option(recompile);

加上 option(recompile) 就好了

11,849

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧