在 SQL Server 中,可以选择使用查询提示。例如
SELECT c.ContactID
FROM Person.Contact c
WITH (INDEX(AK_Contact_rowguid))
我正在摆脱未使用的索引,并且想知道如何确定索引是否用作查询提示。有人对我如何做到这一点有建议吗?
干杯,乔
在 SQL Server 中,可以选择使用查询提示。例如
SELECT c.ContactID
FROM Person.Contact c
WITH (INDEX(AK_Contact_rowguid))
我正在摆脱未使用的索引,并且想知道如何确定索引是否用作查询提示。有人对我如何做到这一点有建议吗?
干杯,乔
您只能为客户端 SQL 运行分析器或sys.sql_modules
以其他方式搜索。
要查找未使用的索引,您通常会使用基于 dmvs 的东西。这将向您显示正在使用和需要保留的索引。
这是一个很好的问题,我想我不能给你一个简单的答案。如果是我,我会在 Management Studio 中编写整个数据库的脚本,并对索引名称进行文本搜索。我也会在我所有的报告和源代码中这样做,以确保也是如此。
我认为提示不会进入 sys.dependencies 用于 procs 一个函数,但即使他们这样做了,你也会有一些临时 SQL 可能要处理,所以这就是我使用文本搜索路由的原因.