Ich habe festgestellt, dass hypothetische Indizes in einer bestimmten Datenbank existieren. Ich habe gesucht und es schien, dass diese Art von Indizes von Tuning Advisor erstellt werden und nicht immer gelöscht werden.Sollte ich hypothetische Indizes löschen?
Es gibt mehrere Themen einschließlich official Dokumentation, wie diese Indexed löschen/löschen, aber ich konnte nicht finden, ob diese Indizes Auswirkungen auf den Server selbst haben.
Was ich überprüfen, haben mit dem Skript unten ist, dass es über sie keine Größeninformationen:
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
und mit ihnen, ich habe beschlossen, zu prüfen, ob eine Nutzungsinformationen über sie sind, um zu verlassen diese werden oft benutzt, aber wieder war nichts zurück. (Ich verwende die "Existing Statistics Usage Statistics" von this article).
Kann jemand sagen, warum das Halten dieser Indizes falsch ist und ob ich definieren kann, welche davon beibehalten werden soll?
Sie verbrauchen keinen Platz, mit Ausnahme von Metadaten und sollte, außer durch den QO ignoriert werden, wenn 'DBCC AUTOPILOT' ausgeführt wird. In der Theorie sollten sie also nicht viel Schaden anrichten. Warum solltest du sie nicht aufräumen? Auch wenn sie SQL Server nicht stark beeinträchtigen, kann ihre Existenz dennoch Probleme mit Skripten von Drittanbietern verursachen. –
@MartinSmith Vielen Dank. Nur aus Neugier, können Sie ein Beispiel für eine solche Problemsituation geben? – gotqn