我注意到假設索引存在於某個數據庫中。我已經搜索過,看起來這種類型的索引是由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的「現有索引使用統計」)。
任何人都可以說出爲什麼要保留這些索引是錯誤的,如果我可以定義哪些應該保留?
他們不佔用任何空間,除了元數據,應該由QO如果'DBCC AUTOPILOT'運行,除了被忽略。所以理論上他們不應該造成太大的傷害。你爲什麼不清理它們?即使它們不會影響SQL Server,但它們的存在仍然可能導致第三方腳本出現問題。 –
@MartinSmith非常感謝。只是爲了好奇,你能提供一個這樣的問題情況的例子嗎? – gotqn