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 と functions に到達するとは思いませんが、たとえそうだったとしても、アドホック SQL を処理する可能性があるため、テキスト検索ルートを使用するのはそのためです。 .