Il n’y a pas de question bête…
A la création d’un plan de maintenance, l’assistant de création vous propose douze tâches. Dont deux tâches relatives à la défragmentation des objets: Réorganisation et Reconstruction.
La réorganisation (correspondant à la commande “ALTER INDEX REORGANIZE”) est la “petite défragmentation”. Elle va compacter l’objet en supprimant ses pages vides et en réorganisant les feuilles de l’indexe. L’opération est rapide mais incomplète.
La reconstruction (correspondant à la commande “ALTER INDEX REBUILD”) est la “grosse défragmentation”. Comme son nom l’indique, elle va complètement recréer l’objet, qui sera donc totalement défragmenté. Les statistiques de l’objet seront mises à jour dans la foulée. Cette opération est bien plus longue et consommatrice.
Il est donc totalement inutile d’effectuer sur un même objet une réorganisation ET une reconstruction. C’est même contre productif, puisque le temps passé à la réorganisation ne sert au final à rien !
On choisira entre l’une et l’autre de ces opérations selon la fragmentation de chaque objet.La règle suivante est souvent utilisée:
- Si la fragmentation d’un objet est inférieure à 5%, on ne fait rien
- Si la fragmentation d’un objet est comprise entre 5 et 30%, on effectue une réorganisation
- Si la fragmentation d’un est supérieure à 30%, on effectue une reconstruction.
Jusqu’en version 2014 incluse, les tâches reconstruction et réorganisation d’un plan de maintenance ne permettent pas d’utiliser cette règle. C’est donc tous les objets d’une base qui seront réorganisés ou reconstruits.
Votre plan de maintenance ne doit donc pas inclure ces deux tâches pour les mêmes bases. A choisir, préférez la reconstruction.
A partir de la version 2016, ces tâches incluent des filtres sur le niveau de fragmentation, le nombre de pages que compte l’objet, et la date de dernière utilisation de cet objet.
En 2016, il est donc possible de choisir quand les objets seront reconstruits, et quand ils seront seulement réorganisés, par exemple:
Tâche Reconstruction des indexes, pour les objets avec une fragmentation de plus de 30%
Puis
Tâche Réorganisation des indexes, pour les objets avec une fragmentation de plus de 5%
Donc ne combinez pas les tâches Réorganisation ET Reconstruction d’un plan de maintenance, sauf à partir de 2016 en jouant sur le taux de fragmentation.
Continuez votre lecture sur le blog :
- Production SQL Server: Réorganisation des objets (Benjamin VESAN) [SQL Server]
- Fragmentation sur des tables stockées en S-GAM (David Baffaleuf) [SQL Server]
- Oracle et SQL Server: La Fragmentation (Benjamin VESAN) [OracleSQL Server]
- Alter table rebuild (Benjamin VESAN) [SQL Server]
- Error 8976 / 8978, problèmes de chaînage, comment récupérer les données (David Baffaleuf) [SQL Server]