Een van de vele redenen waarom een SQL Server database traag kan worden is fragmentatie van de indexen. Met onderstaand script kan je eenvoudig de fragmentatie van de indexen op je SQL Server database bekijken. (Op voorwaarde dat je de nodige security rechten hebt.).
SELECT db_name(ps.database_id), object_name(ps.OBJECT_ID),
b.name, ps.avg_fragmentation_in_percent, ps.page_count
FROM sys.dm_db_index_physical_stats (db_id(‘myDatabase’), NULL, NULL, NULL, ‘LIMITED’) AS ps
INNER JOIN sys.indexes AS b ON ps.OBJECT_ID = b.OBJECT_ID
AND ps.index_id = b.index_id
WHERE ps.database_id = DB_ID() and avg_fragmentation_in_percent > 50 and b.name <> ‘NULL’
ORDER by ps.avg_fragmentation_in_percent desc
Het script geeft een lijst terug van alle indexen die meer dan 50% gefragmenteerd zijn. Wanneer er veel inserts in je database tabellen gebeuren is het goog practice om de fillfactor die databases aan te passen en om regematig de indexen bij te werken met ALTER INDEX .. REORGANIZE�







