L'avertissement ne correspond pas toujours aux statistiques manquantes sur une seule colonne .
Il n'existe aucun moyen facile de déterminer avec précision la statistique exacte que l'optimiseur a recherchée et n'a pas trouvée dans tous les cas, mais il s'agit presque toujours d'une statistique à plusieurs colonnes qui fournirait des informations de corrélation entre plusieurs prédicats d'égalité dans la requête.
Peut-être que dans votre cas, cela correspond exactement aux prédicats dans le filtre après l'analyse où l'avertissement apparaît.
Ce serait bien si SQL Server signalait toutes les colonnes pour l'avertissement de «statistique manquante», mais ce n'est pas ainsi que cela fonctionne aujourd'hui, malheureusement.
Une certaine quantité d'essais et d'erreurs peut être nécessaire pour identifier la statistique à plusieurs colonnes que vous devez créer pour supprimer l'avertissement. Notez que les statistiques multi-colonnes ne peuvent pas être créées automatiquement. Malgré l'avertissement, vous pouvez ou non trouver la qualité de l'estimation s'améliore même si la statistique manquante est fournie.
Paul White dit GoFundMonica
la source
Je viens de remarquer que lorsque vous recevez de tels avertissements sur les statistiques, si vous exécutez votre requête ou procédure avec les paramètres ci-dessous:
vous pouvez voir quelles sont les statistiques manquantes:
et en utilisant les scripts ici, vous pouvez voir quelles statistiques sont actuellement en place, et si elles manquent, vous pouvez les ajouter.
la source