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?
Réponses
Trop de publicités?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.
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.
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é.