Toute l’information sur les index et la fragmentation est fourni par la procedure :
dm_db_index_physical_stats
Les administrateurs doivent s’intéresser à la colonne avg_fragmentation_in_percent pour déterminer si les index présentent une fragmentation externe. Celle ci est présente pour une valeur supérieur à 10.
Ils doivent examiner la valeur de la colonne avg_page_space_used_in_percent pour déterminer si les index souffrent d’une fragmentation interne. Celle ci est presente si la valeur est inférieur à 75.
Exemple :
DECLARE @database_id int
SELECT database_id,name FROM sys.databases;
Set @database_id = 1
SELECT index_id,avg_fragmentation_in_percent,avg_page_space_used_in_percent FROM sys.dm_db_index_physical_stats(@database_id,NULL,NULL,NULL,’Detailed’)
Si vous constatez que vos index souffrent de fragmentation interne ou externe , vous devez executer regulierement les instruction ALTER INDEX … REBUILD et ALTER INDEX … REORGANIZE.
exemple :
USE Adventuresworks
ALTER INDEX PK_Employee_EmployeeID ON HumanRessource.Employee REORGANIZE;
USE Adventureworks
ALTER INDEX PK_Employee_EmployeeID ON HumanRessource.Employee REBUILD;