Ostrzeżenie nie zawsze odpowiada brakującym statystykom jednokolumnowym .
Nie ma łatwego sposobu na dokładne określenie dokładnej statystyki, której szukał optymalizator i której nie znalazł we wszystkich przypadkach, ale prawie zawsze jest to statystyka wielokolumnowa , która zapewniłaby pewne informacje o korelacji w wielu predykatach równości w zapytaniu.
Być może w twoim przypadku odpowiada to dokładnie predykatom w filtrze po skanie, w którym pojawia się ostrzeżenie.
Byłoby miło, gdyby SQL Server zgłaszał wszystkie kolumny z ostrzeżeniem o „brakującej statystyce”, ale niestety nie tak to działa dzisiaj.
Konieczna może być pewna ilość prób i błędów, aby zidentyfikować wielokolumnową statystykę, którą należy utworzyć, aby usunąć ostrzeżenie. Pamiętaj, że statystyki wielokolumnowe nie mogą być tworzone automatycznie. Pomimo ostrzeżenia możesz, ale nie musisz, stwierdzić, że jakość oszacowania poprawia się, nawet jeśli dostarczona jest brakująca statystyka.
Paul White mówi GoFundMonica
źródło
Właśnie zauważyłem, że gdy pojawi się takie ostrzeżenie o statystykach, jeśli uruchomisz zapytanie lub procedurę z poniższymi ustawieniami:
możesz zobaczyć brakujące statystyki:
a korzystając ze skryptów tutaj możesz sprawdzić, jakie statystyki są obecnie na miejscu, a jeśli ich brakuje, możesz je dodać.
źródło