我对非聚集索引的工作存在一般性疑问,假设我的表上有4个非聚集索引,并且我想知道哪个非聚集索引正在从这4个索引中调用,并且有使用特定索引的方法从这四个索引。
答案 0 :(得分:0)
您可以通过以下提示强制SELECT查询使用特定索引:
SELECT <columns> FROM Table_Name WITH(INDEX(Index_Name))
对表“ Tab_test”说,已定义了四个非聚集索引,例如Idx_1,Idx_2,Idx_3和Idx_4。现在,您要SELECT查询使用Idx_3,那么下面的查询将强制SELECT语句使用Idx_3:
SELECT <columns> FROM Tab_test WITH(INDEX(Idx_3))
答案 1 :(得分:0)
在运行查询之前,请单击cntr-M,或从SQL Server Management Studio的“查询”菜单中选择“包括实际执行计划”。查询完成后,单击结果窗口的“执行计划”选项卡。滚动浏览,直到找到计划从相关表中读取的位置,并且它将告诉您使用了哪个索引。