Lazywriter, Checkpoint & Ghost Cleanup : Le Bon, La Brute et Le Truand de la gestion mémoire de SQL Server

Toute modification de données se fait d’abord sur les pages de la base de données qui sont en mémoire.
Toute page qui subit une modification mais qui n’a pas encore été copiée sur disque dur est alors qualifiée de « sale », ou « dirty » dans la littérature.

En effet, SQL Server, comme la plupart des SGBDR, travaille exclusivement en mémoire vive, pour la simple raison que son accès est au moins 1000 fois plus rapide qu’un accès aux disques durs, si performants qu’ils soient.

Mais alors comment sont persistées ces changements sur les disques durs qui supportent la base de données ?
Lire la suite

Le reconstruction des index et la mise à jour des statistiques de colonnes

Lors de la reconstruction des index (ALTER INDEX … REBUILD), les statistiques de colonne qui constituent la clé de l’index sont recalculées avec l’échantillonnage maximal.

Que se passe-t-il si par la suite on souhaite mettre à jour les statistiques pour les colonnes non-indexées ?
Lire la suite

Rechercher les index inutiles

Si les index représentent l’optimisation la plus simple à mettre en place, on souhaite néanmoins conserver le minimum d’entre-eux, car leur maintenance lors de l’exécution de requêtes de modifications de données (INSERT, UPDATE, DELETE) peut être coûteuse, surtout sur des tables volumineuses.
Voyons comment collecter cette information …
Lire la suite