Hello,
J'utilises la méthode suivante pour l'optimisation des index de mes bases de données :
SI fragmentation < 10% => ne rien faire
SI fragmentation > 10% et < 30% => reorganize (Defragmentation de l'index)
SI fragmentation > 30% => Rebuild
Mais j'ai constaté que la défragmentation d'index (Reorganize) ne modifiai pas la valeur du ScanDensity, alors que le rebuild la modifie à une valeur tout a fait normale (> 90%)
Et comme mon plan de maintenance tourne tous les soirs, je me retrouve donc avec des index avec une fragmentation rarement au dessus de 10%, et ces index ne sont jamais reconstruit intégralement.
Mais le ScanDensity lui reste très bas (souvent en dessous de 40%),
Une valeur très basse de ScanDensity a t'elle une influence sur les performances?
Je pense que oui :
J'ai fait des tests, et lors d'une requête assez simple, je passe de 750 lectures logiques sans optimisation des index, la même valeur apres le reorganize.
Et je passe a 453 lectures logiques après la reconstruction complète des index utilisées dans la requête.
Je précise que j'avais éxécuté une première fois cette requête pour que les pages soient lues depuis le cache pour chaque test.
Selon moi cela est dû au nombre de
Des avis sur la question?
Pour quelle raison la reorganisation d'index ne modifie pas la valeur scanDensity?
Impacts sur les performances d'avoir des index avec une valeur Scandensity basse?
la Dmv dm_db_index_physical_stats ne permet d'ailleurs pas de voir la valeur ScanDensity, je passes donc par Dbcc Showcontig, mais cette commande sera supprimée dans la prochaine version de SQL (deprecated features)? y'a t'il un autre moyen de visualiser la valeur ScanDensity?
Merci d'avance.
Aurélien
Partager