SQL Neuindizierung hat keine Auswirkung auf die Fragmentierung
Hallo zusammen,
ein SQL2016 Datenbanksystem ist sehr langsam, daher habe ich einmal die Index-Fragmentierung geprüft. Hier sind sehr viele Indizes über 60%, viele sogar über 90%. Daher habe ich über einen Wartungsplan den Index komplett neu erstellen lassen (Standardeinstellungen). Aber auch nach der Neuerstellung hat sich an der Fragmentierung nichts geändert. Werden selbst angelegte Indizes nicht angefasst?
Als Prüfung habe ich diesen Befehl genommen:
Hat jemand eine Idee?
ein SQL2016 Datenbanksystem ist sehr langsam, daher habe ich einmal die Index-Fragmentierung geprüft. Hier sind sehr viele Indizes über 60%, viele sogar über 90%. Daher habe ich über einen Wartungsplan den Index komplett neu erstellen lassen (Standardeinstellungen). Aber auch nach der Neuerstellung hat sich an der Fragmentierung nichts geändert. Werden selbst angelegte Indizes nicht angefasst?
Als Prüfung habe ich diesen Befehl genommen:
SELECT OBJECT_NAME(ind.OBJECT_ID) AS TableName,
ind.name AS IndexName, indexstats.index_type_desc AS IndexType,
indexstats.avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) indexstats
INNER JOIN sys.indexes ind
ON ind.object_id = indexstats.object_id
AND ind.index_id = indexstats.index_id
WHERE indexstats.avg_fragmentation_in_percent > 30
ORDER BY indexstats.avg_fragmentation_in_percent DESC
Hat jemand eine Idee?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 357753
Url: https://administrator.de/contentid/357753
Ausgedruckt am: 25.11.2024 um 13:11 Uhr
1 Kommentar
Wir groß sind denn die Indizes, bei denen die Fragmentierung nicht kleiner wird?
Aus https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorga ...
Im Internet findet man so als Indexgröße, ab der man sich überhaupt Gedanken machen soll, 1000 Pages:
z.B. https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.h ...
Aus https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorga ...
In general, fragmentation on small indexes is often not controllable. The pages of small indexes are sometimes stored on mixed extents. Mixed extents are shared by up to eight objects, so the fragmentation in a small index might not be reduced after reorganizing or rebuilding the index.
Im Internet findet man so als Indexgröße, ab der man sich überhaupt Gedanken machen soll, 1000 Pages:
z.B. https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.h ...
Set a size, in pages; indexes with fewer pages are skipped for index maintenance. The default is 1000 pages. This is based on Microsoft’s recommendation.