43 votes

Que signifie "Créer des Statistiques" dans SQL Server 2005?

La Base de données de l'assistant Paramétrage est recommandant que je créer un tas de statistiques dans ma Base de données. Je suis quelque chose de SQL n00b, c'était donc la première fois que j'avais jamais rencontré une telle créature. L'entrée dans MSDN était un peu obtus - ce que quelqu'un pourrait expliquer exactement ce que cela fait, et pourquoi il est une bonne idée?

38voto

Basée sur le coût de la Requête de l'Optimisation est une technique qui utilise des histogrammes et des nombres de lignes de manière heuristique pour estimer le coût de l'exécution d'un plan de requête. Lorsque vous soumettez une requête de SQL Server, il évalue et génère une série de Plans de Requête pour laquelle il utilise une méthode heuristique pour estimer les coûts. Il sélectionne ensuite le moins cher plan de requête.

Les statistiques sont utilisées par l'optimiseur de requête pour calculer le coût des plans de requête. Si les statistiques sont manquants ou obsolètes il ne dispose pas de données pour estimer le plan. Dans ce cas, il peut générer des plans de requête sont modérément ou fortement sous-optimale.

SQL Server (dans la plupart des cas) de générer des statistiques sur la plupart des tables et des index automatiquement, mais vous pouvez compléter les présentes ou de force rafraîchit. La requête de l'assistant de réglage a sans doute trouvé quelques statistiques manquantes ou identifiés se joint à l'intérieur de la requête que les statistiques doivent être ajoutés pour.

8voto

Jonathan Rupp Points 10900

Les statistiques sont utilisées par l'optimiseur pour déterminer si l'utilisation d'un index spécifique pour votre requête. Sans statistiques, l'optimiseur n'ont pas un moyen de savoir sur combien de vos lignes correspondent à une condition, de sorte à optimiser pour le "nombre de lignes", qui pourrait être moins-que-optimale.

3voto

nathaniel Points 978

En un mot, il prépare votre base de données pour travailler efficacement. Par le fait d'avoir établi des statistiques, votre base de données ne sait pas (avant il doit comprendre un plan d'exécution) ce qui est susceptible d'être plus efficace itinéraire.

2voto

Kevin Fairchild Points 5991

Fondamentalement, il suffit de garde SQL mise à jour avec ce type d'indexation, vous avez, nombre de lignes, etc. Cela permet de SQL mieux estimer comment exécuter des requêtes. En gardant les statistiques de mise à jour est une bonne chose.

2voto

Galwegian Points 29966

De la BOL...

Crée un histogramme et associés densité de groupes (collections) au cours de la fourni colonne ou un ensemble de colonnes d'une la table ou la vue indexée. Résumé de chaîne les statistiques sont également créées sur statistiques construit sur char, varchar, varchar(max), nchar, nvarchar, nvarchar(max), le texte, et ntext les colonnes. L'optimiseur de requête utilise cette des informations statistiques afin de choisir le la plupart plan efficace pour la récupération ou de la mise à jour des données. La mise à jour des statistiques permettre à l'optimiseur de précision évaluer le coût des différentes requêtes plans et choisir un plan de haute qualité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X