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 conną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