Défragmentation d’un index (REORGANIZE)

Pour comprendre comment SQL Server défragmente un index, considérez un exemple simplifié de pages après de nombreuses insertions, mises à jour et suppressions, comme illustré dans la figure suivante.

La numérotation des pages représente la séquence logique des pages.
Cependant, la séquence physique, comme le montre la figure de gauche à droite, ne correspond pas à la séquence logique.

La figure suivante illustre plusieurs passes pendant le processus de défragmentation et réorganisation, ce qui provoque le ré-ordonnancement des pages physiques en changeant la première page logique avec la première page physique, puis la seconde page logique permutée avec la deuxième page physique et ainsi de suite.

Lors de la première passe, SQL Server trouve la première page physique (4) et la première page logique (1), puis échange ces pages dans une transaction discrète.

Sur la deuxième passe, SQL Server échange la page physique suivante (7) avec la page logique suivante (2).

Sur la troisième passe, SQL Server échange la page physique suivante (4) avec la page logique suivante (3).

Sur la quatrième passe, SQL Server échange la page physique suivante (5) avec la page logique suivante (4).

Le tri est maintenant terminé, car toutes les pages physiques correspondent à leurs positions logiques.

 

Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *