确定索引是否已用作提示

时间:2010-05-26 22:00:07

标签: sql-server-2008 indexing query-hints

在SQL Server中,可以选择使用查询提示。 例如

SELECT c.ContactID
FROM Person.Contact c
WITH (INDEX(AK_Contact_rowguid))

我正在摆脱未使用的索引,并想知道如何确定索引是否被用作查询提示。有没有人对如何做到这一点有任何建议?

干杯, 乔

2 个答案:

答案 0 :(得分:1)

您只能为客户端SQL运行探查器或以其他方式搜索sys.sql_modules

要查找未使用的索引,通常使用something based on dmvs。这将显示正在使用哪些索引并需要保留。

答案 1 :(得分:0)

这是一个很好的问题,我认为我不能给你一个简单的答案。如果是我,我会在Management Studio中编写整个数据库的脚本,并对索引名称进行文本搜索。我也会在我的所有报告和源代码中都这样做,也是为了确定。

我不认为提示会使用sys.dependencies来触发一个函数,但是即使它们这样做了,你也会有一些特殊的SQL来处理,所以这就是我使用它的原因。文本搜索路线。