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

Savoir quelles collations sont utilisées au niveau colonne, base de données et instance SQL Server

Comme il est important de savoir si la collation utilisée par une colonne, une base de données ou une instance SQL Server est sensible à la casse ou aux accents, ou …, voici quelques requêtes qui permettent d’obtenir l’information très simplement :
Lire la suite

Marquer une procédure stockée comme objet système : la procédure stockée sp_MS_marksystemobject

Il peut être intéressant de pouvoir utiliser une procédure stockée dans n’importe quel contexte de base de données (sur la même instance SQL Server).
Voyons comment faire cela à l’aide de la procédure stockée système non documentée sp_MS_marksystemobject
Lire la suite

Connaître les caractéristiques des statistiques de colonne d’une table

Voici un lot de requêtes qui retourne quelques caractéristiques intéressantes des statistiques d’une table, notamment :

– la quantité de données, en MB, qui a été échantillonnée
– la date de dernier échantillonnage
– le nom de la statistique, ainsi que les colonnes sur lesquelles la statistique échantillonne
– le nombre de lignes échantillonnées lors du dernier échantillonnage
– la densité (inverse de la sélectivité)
– le nombre de modifications dans les colonnes de la statistique depuis le dernier échantillonnage
– le SRT (Statistic Recomputation Threshold : seuil de ré-échantillonnage de la statistique)
C’est le nombre de modifications que les colonnes de la statistique doivent subir avant d’être ré-échantillonnées.
– quelques comparaisons par rapport au nombre réel de lignes de la table

Lire la suite

Différence entre un index ordonné en cluster et un index non-cluster

Nous utilisons tous les jours de nombreux indexes : heure, calendrier, annuaire, sommaire et index d’un livre, …

Passons aux bases de données : quelle est la différence entre un index cluster et un index non-cluster ?
Si la différence peut sembler obscure de prime abord, le choix des index est crucial pour la performance globale de la base de données, et de coût quasiment nul en terme de modifications à apporter au schéma de celle-ci.

Les deux types d’index sont-ils complémentaires ? Quelles sont les conséquences du choix de la clé de ceux-ci ?

Lire la suite