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.

 

Laisser un commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *