Question

L'Assistant Paramétrage de la base de données recommande de créer un ensemble de statistiques dans ma base de données. Je suis en quelque sorte un SQL n00b, alors c'était la première fois que je rencontrais une telle créature. L'entrée dans MSDN était un peu obtuse - quelqu'un pourrait-il expliquer en quoi cela consiste exactement et pourquoi c'est une bonne idée?

Était-ce utile?

La solution

L'optimisation des requêtes en fonction du coût est une technique qui utilise des histogrammes et des nombres de lignes pour estimer le coût de manière heuristique. d'exécuter un plan de requête. Lorsque vous soumettez une requête à SQL Server, celle-ci est évaluée et génère une série de Plans de requête pour lesquels il utilise des heuristiques pour estimer les coûts. Il sélectionne ensuite le plan de requête le moins cher.

L’optimiseur de requêtes utilise les statistiques pour calculer le coût des plans de requête. Si les statistiques sont manquantes ou obsolètes, les données permettant d'estimer le plan ne sont pas correctes. Dans ce cas, il peut générer des plans de requête modérément ou fortement sous-optimaux.

SQL Server générera (dans la plupart des cas) des statistiques sur la plupart des tables et des index automatiquement, mais vous pouvez les compléter ou forcer les actualisations. L’assistant d’ajustement de la requête a probablement trouvé des statistiques manquantes ou des jointures identifiées dans la requête pour lesquelles des statistiques devraient être ajoutées.

Autres conseils

L'optimiseur utilise les statistiques pour déterminer s'il convient d'utiliser un index spécifique pour votre requête. Sans statistiques, l'optimiseur n'a pas la possibilité de savoir combien de vos lignes correspondront à une condition donnée, ce qui l'obligera à optimiser le nombre de "lignes". cas, ce qui pourrait être moins qu'optimal.

En un mot, il prépare votre base de données à fonctionner efficacement. En préparant des statistiques, votre base de données sait (avant qu’elle ait besoin de définir un plan d’exécution) quelle est probablement la route la plus efficace.

Fondamentalement, maintient SQL à jour avec votre type d’indexation, le nombre de lignes, etc. Cela permet à SQL de mieux estimer comment exécuter vos requêtes. Garder les statistiques à jour est une bonne chose.

À partir du BOL ...

  

Crée un histogramme et associé   groupes de densité (collections) sur la   colonne fournie ou un ensemble de colonnes d'un   table ou vue indexée. Résumé de la chaîne   des statistiques sont également créées sur   statistiques construites sur char, varchar,   varchar (max), nchar, nvarchar,   nvarchar (max), text et ntext   colonnes. L'optimiseur de requête utilise cette   informations statistiques pour choisir le   le plan le plus efficace pour récupérer ou   mise à jour des données. Statistiques à jour   permettre à l'optimiseur d'être précis   évaluer le coût d'une requête différente   plans et choisissez un plan de haute qualité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top