Comprendre les plans d’exécution et l’Optimiseur de requêtes : deux très bons ouvrages

L’Optimiseur de Requêtes est l’organe logiciel au cœur du moteur de base de données de SQL Server.
Pour avoir optimisé un grand nombre de requêtes, je dois dire que c’est une bête incroyable qui continue de m’étonner : elle continue de faire fonctionner SQL Server avec des performances acceptables alors que le modèle de données laisse souvent à désirer quand ce n’est pas pire :)

Voici donc deux ouvrages qui exposent comment lire les plans d’exécution graphiques, et comment l’Optimiseur de requêtes fonctionne. Le reste, c’est l’expérience qui le donne !

Lire la suite

Connaître la taille du cache allouée aux bases de données et à leurs tables avec SQL Server 2005 et suivants

Voici quelques requêtes qui montrent la taille du cache de données allouée aux tables (et vues indexées) :

– pour toute l’instance SQL Server,
– par base de données
– par table (ou vue indexée) dans une base de données en particulier

Lire la suite

Etude de table : retourner les caractéristiques des statistiques et index d’une table (ou vue indexée)

Voici un script qui retourne :

– l’en-tête des statistiques d’une table
– la liste des colonnes qui participent à la statistique, ou des colonnes clé de l’index (incluses et filtrées)
– le vecteur de la statistique, qui permet de connaître sa sélectivité
– optionnellement, le niveau de fragmentation des index
– le nombre d’utilisation des index
– la date de dernière mise à jour de chaque statistique scrutée par le script

Lire la suite