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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 357753
Url: https://administrator.de/contentid/357753
Printed on: April 18, 2024 at 16:04 o'clock
1 Comment
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.