Ich habe eine große Datenbank mit SQL Server 2005. Ich frage DMV sys.dm_db_index_physical_stats ab, um Indexfragmentierungsinformationen zu erhalten.Der Wiederaufbau großer SQL-Indizes ändert den Fragmentierungsprozentsatz nicht.
Ich war schockiert zu sehen, avg_fragment_size_in_percent Berichterstattung eine große Anzahl von Indizes mit sehr schlechten Fragmentierung Ebenen (99% für eine Menge von ihnen). Diese sind auf Tabellen mit nicht-trivialen Seitenzahlen (500+ Seiten auf den kleinsten Seiten).
I proceded folgendes über die schlimmsten Straftäter laufen:
ALTER INDEX ALLES AUF myTable REBUILD WITH (ONLINE = ON)
ich erneut abgefragt sys.dm_db_index_physical_stats dann aber meldet er genau das gleiche Fragmentierung vor und nach dem Index REBUILD.
Werden diese Informationen zwischengespeichert, oder mache ich etwas falsch?
Können Sie uns sagen, was die Indexdefinition für diesen Index ist? Welche Felder sind enthalten (was sind ihre Datentypen)? –
Sicher ... mein aktuell schlimmster Täter ist unter vielen ein Unique Identifier Index (Single Column Index), der zufällig ein Fremdschlüssel ist.Dieser zeigt 99.5991983967936% durchschnittliche Fragmentierung. – Patrick
Hmm ... Ich habe diesen Post auf MSDN gefunden, der das gleiche Verhalten meldet: http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/ff4b379c-d9e3-432d-9528- 2b3ea1cdce39 – Patrick