You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

T-SQL是否存在禁止键查找的索引提示,且不强制指定特定索引

T-SQL是否有索引提示可排除需键查找的非聚集索引?

不存在专门的T-SQL索引提示,能直接实现「仅允许使用无需键查找的非聚集索引,同时让查询优化器自由选择符合条件的索引」这个需求。

具体原因如下:

  • FORCESEEK 仅强制使用索引查找而非扫描,但无法阻止优化器选择需要键查找的非聚集索引——它只会改变索引的访问方式,不会过滤掉需要后续键查找的索引本身。
  • WITH (index(...)) 这类提示需要指定具体索引,不符合你希望优化器自由选择的要求;NOINDEX 则是排除特定索引,也无法动态筛选出所有无需键查找的选项。
  • 其他现有提示(如 FORCEORDER、MAXDOP)都是针对执行计划的其他维度,没有聚焦于“排除需键查找的非聚集索引”这一特定规则。

你提到已经考虑过创建覆盖索引、优化统计信息、重写查询等常规方法,这些确实是解决键查找问题的主流方案,但从纯索引提示的角度,目前T-SQL没有提供直接满足你需求的选项。

内容的提问来源于stack exchange,提问作者Ed Avis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 07:12:07