Visualiser les histogrammes des statistiques des index

En auditant les statistiques d’une base de de données chez un client, j’ai eu l’idée de créer un rapport qui afficherait de façon plus lisible les STATISTICS des tables.

J’aurai aimé vous faire un cours complet sur les statistiques dans SQL Server mais on va raccourcir un peu.
Quand vous regardez le détail d’une statistique d’une table dans Management Studio, vous obtenez un joli tableau en ASCII-art (cf. ci-dessous).

image

Evidemment, vous savez tous que vous avez toutes les données avec l’instruction DBCC SHOW_STATISTICS(table, index).
Néanmoins, ce n’est pas forcément plus lisible pour autant.

J’ai donc fait un rapport Reporting Services qui appelle les différentes variante de DBCC SHOW_STATISTICS :

DBCC SHOW_STATISTICS(DimCustomer, IX_GeoKey) WITH HISTOGRAM
DBCC SHOW_STATISTICS(DimCustomer, IX_GeoKey) WITH STAT_HEADER
DBCC SHOW_STATISTICS(DimCustomer, IX_GeoKey) WITH DENSITY_VECTOR

Le plus utile est la représentation des histogrammes qui nous renseigne sur la répartition des enregistrements sur les valeurs de la clé.

image

Evidemment, j’en ai profité pour rendre plus lisible les densités (la notation scientifique avec des 10-6 ne me parle pas nativement) et les informations diverses.

Enfin, j’ai créé le rapport avec comme paramètre le nom de la base de données. Le rapport génère les infos pour tous les index.

Dès que j’ai un peu de temps, je traduis tout en anglais et je le pousse sur CodePlex (il n’y a que 2 fichiers RDL mais bon, c’est déjà ça).

 

Tip bonus du jour : si votre base de données utilise des Schemas, pensez à encadrer le nom de la table par des QUOTED_IDENTIFIER (“” ou []) dans l’instruction DBCC SHOW_STATISTICS.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s