特定のデータベースに仮説的なインデックスが存在することに気付きました。私は周りを検索し、このタイプのインデックスはTuning Advisorによって作成され、常に削除されるとは思われませんでした。仮想インデックスを削除する必要がありますか?
officialを含むいくつかのトピックがありますが、これらのインデックスをクリア/削除する方法についてはドキュメントがありますが、これらのインデックスがサーバー自体に影響を与えるかどうかは確認できませんでした。私がチェックは、以下のスクリプトを使用している何
が、それらについてのサイズ情報がないことである。
SELECT OBJECT_NAME(I.[object_id]) AS TableName
,I.[name] AS IndexName
,I.[index_id] AS IndexID
,8 * SUM(A.[used_pages]) AS 'Indexsize(KB)'
FROM [sys].[indexes] AS I
INNER JOIN [sys].[partitions] AS P
ON P.[object_id] = I.[object_id]
AND P.[index_id] = I.[index_id]
INNER JOIN [sys].[allocation_units] AS A
ON A.[container_id] = P.[partition_id]
WHERE I.[is_hypothetical] = 1
GROUP BY I.[object_id]
,I.[index_id]
,I.[name]
ORDER BY 8 * SUM(A.[used_pages]) DESC
し、それらを持って、私はそれらについてのいくつかの使用情報を残すためにあるかどうかを確認することを決定しましたこれらは頻繁に使用されますが、何も戻っていませんでした。 (私はthis articleから "Existing Indexes Usage Statistics"を使用しています)。
なぜこれらのインデックスを保持するのが間違っているのか、私はそれらのうちのどれを保管すべきかを定義できますか?
彼らは、メタデータを除き、任意のスペースを消費しないと 'DBCC AUTOPILOT'が実行されている場合を除き、QOによって無視されるべきです。だから、理論的にはそれほど大きな害はないはずです。なぜあなたはそれらをきれいにしないでしょうか?たとえSQL Serverに影響を与えていないとしても、その存在はサードパーティのスクリプトなどで問題を引き起こす可能性があります。 –
@MartinSmithありがとうございました。好奇心のために、あなたはそのような問題の状況の例を提供できますか? – gotqn