【发布时间】:2019-02-05 10:06:13
【问题描述】:
我有关于非聚集索引工作的一般性问题假设我的表上有 4 个非聚集索引,我想知道哪个非聚集索引从这 4 个索引中调用,是否有使用特定索引的方法从这4个指标。
【问题讨论】:
-
您使用的是哪个 dbms? (ANSI SQL 规范不包括索引。)
-
我正在使用 ms sql
标签: sql-server non-clustered-index
我有关于非聚集索引工作的一般性问题假设我的表上有 4 个非聚集索引,我想知道哪个非聚集索引从这 4 个索引中调用,是否有使用特定索引的方法从这4个指标。
【问题讨论】:
标签: sql-server non-clustered-index
在运行查询之前,点击 cntr-M,或从 SQL Server Management Studio 的查询菜单中选择“包括实际执行计划”。查询完成后,单击结果窗口的“执行计划”选项卡。滚动直到您找到计划从相关表中读取的位置,它会告诉您使用了哪个索引。
【讨论】:
您可以使用以下提示强制 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))
【讨论】: