Cette fonction permet de visualiser les statistiques générées sur la base de données lorsque la base de données utilisée est SQL Server™.
Elle permet aussi de mettre à jour les statistiques.
Attention, ce type de fonction facilite, via une interface utilisateur homogène avec le progiciel, le lancement de procédures d'exploitation dévolues à un administrateur de base de données. Elle est faite pour être lancée par un tel administrateur (habituellement appelé DBA).
Pour être utilisée avec profit, elle suppose donc une connaissance préalable du fonctionnement des bases de données et de leur optimisation.
A contrario, une utilisation inappropriée de la fonction peut poser de sérieux problèmes de performances et mettre en péril la sécurité de l'exploitation du progiciel.
Cette fonction permet de visualiser et de générer les statistiques sur la base de données.
Ces éléments sont présentés sur deux onglets : le premier donne la liste des index et l'état des statistiques pour chacun, le deuxième donne la liste des paramètres de base de données liés à la génération des statistiques.
Présentation
Permet de connaître les caractéristiques de la base de données utilisée.
Fermer
Champs
Les champs suivants sont présents dans cet onglet :
|
Nom de la base de données |
|
Numéro de version de la base de données |
|
Description de la version de la base de données |
Fermer
Présentation
Cet onglet présente la liste des index et l'état des statistiques pour chacun d'eux.
Fermer
Champs
Les champs suivants sont présents dans cet onglet :
|
Permet de définir si la ligne doit être traitée en génération de statistiques, par le bouton de bas d'écran correspondant. |
|
Nom de la table dans la base de données |
|
Nom de l'index dans la base de données |
|
Nombre de lignes de la table correspondant à l'index (count) |
|
Indique si les statistiques sont générées automatiquement pour l'index. Correspond au paramètre base de données UPDATE STATISTICS automatique pour l'index. |
|
Indique si des statistiques valides sont générées en base de données |
|
Date de la dernière analyse des statistiques |
|
Heure de la dernière analyse des statistiques |
Fermer
Il est possible de générer les statistiques :
Fonctions accessibles par clic droit sur le tableau
Lorsqu'on a un tableau de saisie de choix multiples avec un choix de réponse Oui / Non sur chaque ligne, cette fonction permet de répondre Oui à toutes les lignes à partir de la ligne courante.
Lorsqu'on a un tableau de saisie de choix multiples avec un choix de réponse Oui / Non sur chaque ligne, cette fonction permet de répondre Non à toutes les lignes à partir de la ligne courante.
Permet de rafraîchir l'affichage de la ligne courante du tableau
Permet de générer les statistiques pour la ligne courante du tableau
Fermer
Présentation
Cet onglet présente la liste des paramètres de base de données liées à la génération automatique des statistiques.
Fermer
Champs
Les champs suivants sont présents dans cet onglet :
Tableau Paramètres des statistiques
|
Affiche les options positionnées sur la base de données pour la génération automatique des statistiques. Les options sont les suivantes
|
|
  |
Fermer
Il n'est pas possible d'agir ici sur ces valeurs.
Ce bouton, également accessible par le raccourci , permet de rafraîchir l'affichage des onglets. |
Permet de générer les statistiques pour toutes les lignes sélectionnées dans le tableau de l'onglet Index |
SQL Server conserve les statistiques de distribution des valeurs de clé dans chaque index, et utilise ces statistiques pour déterminer les index à utiliser dans le traitement des requêtes.
Donc il peut être utile de mettre à jour les statistiques si
Microsoft® SQL Server™ permet de créer des informations statistiques au sujet de la distribution des valeurs dans une colonne qui doit être créée. Ces statistiques peuvent être exploitées par le processeur de requêtes afin de déterminer la stratégie optimale d'évaluation d'une requête. Lorsque l'on crée un index, SQL Server stocke automatiquement les informations statistiques relatives à la distribution des valeurs dans la ou les colonnes indexées. L'optimiseur de requêtes de SQL Server utilise ces statistiques pour estimer le coût de l'utilisation de l'index pour une requête. D'autre part, si l'option de base de données AUTO_CREATE_STATISTICS est activée (ON), ce qui est le cas par défaut, SQL Server crée automatiquement des statistiques pour les colonnes sans index utilisées dans un prédicat.
Si les données d'une colonne changent, les statistiques d'index et de colonne risquent de devenir obsolètes et donc d'amener l'optimiseur de requêtes à prendre des décisions peu judicieuses sur la manière de traiter une requête. Par exemple, si l'on crée une table avec une colonne indexée et 1 000 lignes de données, toutes comportant des valeurs uniques dans la colonne indexée, l'optimiseur de requêtes considère que la colonne indexée constitue une " bonne " solution pour recueillir les données pour une requête. Si l'on met à jour les données d'une colonne en créant de nombreuses valeurs dupliquées, la colonne n'est plus un candidat idéal à l'utilisation dans une requête. Cependant, l'optimiseur de requêtes la considère toujours comme un candidat approprié d'après les statistiques de distribution obsolètes de l'index, qui étaient basées sur les données d'avant la mise à jour.
Dès lors, SQL Server met automatiquement à jour les informations statistiques de manière régulière, à mesure que les données des tables sont modifiées. L'échantillonnage s'effectue de façon aléatoire parmi les pages de données et provient de la table ou du plus petit index non ordonné en clusters sur les colonnes nécessaires aux statistiques. Après la lecture d'une page de données à partir du disque, toutes les lignes de la page sont utilisées pour mettre à jour les informations statistiques. La fréquence de mise à jour de ces dernières est fonction du volume de données présentes dans la colonne ou l'index et de la quantité de données variables.
SQL Server garantit toujours l'échantillonnage d'un nombre minimal de lignes. Les tables de taille inférieure à 8 Mo font toujours l'objet d'une analyse complète dans le but d'élaborer des statistiques.
Le coût de cette mise à jour automatique des statistiques est minimisé en raison de l'échantillonnage des données ; celles-ci ne sont pas toutes analysées.
Toutes les informations sur les tables, index et statistiques sont lues directement dans la base de données à partir des tables et vues Sql Server :
Les dates de statistiques sont obtenues à l'aide de la fonction STATS_DATE
Les informations sur la génération automatique des statistiques sur les index sont obtenues à l'aide de la procédure sp_autostats
Les informations sur la gestion automatique des statistiques sur la base de données sont obtenues à l'aide de la procédure sp_dboption
Les statistiques sont mises à jour avec l'instruction UPDATE STATISTICS