To naprawdę sytuacja, na którą chcesz spojrzeć na tabelę lub indeks, i naprawdę musisz dowiedzieć się, co jest w produkcji przed podjęciem jakichkolwiek działań. W razie wątpliwości używaj tego, co jest w produkcji, również w innych środowiskach, nawet jeśli oznacza to użycie szalonych ustawień. Po prostu nie możesz dobrze się zorientować, jak będzie się zachowywać produkcja, jeśli sprawy będą się różnić w testach lub projektach.
W każdym razie ogólne zalecenie pozostawienia włączonych statystyk automatycznej aktualizacji ( STATISTICS_NORECOMPUTE = OFF
co jest ustawieniem domyślnym) jest ze względów bezpieczeństwa, ponieważ jeśli jest wyłączone i nic nie aktualizuje statystyk ręcznie, wynikiem mogą być naprawdę przerażające plany wykonania, które nigdy się nie zmieniają po pierwszym utworzeniu (i nie unieważnij ich z innych powodów).
Mówiłeś statystyki auto Update jest wyłączony dla większości indeksów (myślę, że pierwotnie misread jak wszyscy , nie najbardziej ). Czy w przypadku indeksów z włączonymi statystykami automatycznej aktualizacji to ustawienie ma sens, biorąc pod uwagę aktywność na tych tabelach? Spodziewałbym się, że są to tabele o wyższej aktywności. Możliwe, że dużo pracy włożono w ustalenie tego i może warto zachować (lub mocno rozważyć) te ustawienia. Przynajmniej zanotuj te statystyki, ponieważ informacje te mogą się przydać na drodze.
Myśląc o tym więcej, powiem, że obecna strategia ma sens. Czy to jest lepsze niż pozostawienie statystyk automatycznych aktualizacji dla wszystkiego? Wydaje się, że ktoś tak uważał, do tego stopnia, że warta była łatwości zarządzania kompromisem posiadania powiązanego zadania SQL Agent.
Jeśli chodziło o to, aby mieć dostępne nowe statystyki bez blokowania zapytań (tak jak to ), możesz rozważyć ponowne włączenie automatycznej aktualizacji dla wszystkiego, a następnie również włączyć AUTO_UPDATE_STATISTICS_ASYNC
. Następnie prawdopodobnie zmień harmonogram zadań, aby uruchamiał się raz w tygodniu zamiast codziennie, ponieważ nadal chcesz WITH FULLSCAN
okresowo aktualizować statystyki .
Mogę to jednak zostawić, ponieważ prawdopodobnie masz większe ryby do smażenia, jeśli same indeksy różnią się w zależności od środowiska, a odbudowywanie statystyk nie jest zbyt bolesne. To, co jest teraz, ma sens; musisz tylko zapewnić spójność w różnych środowiskach. Jest to prawdopodobnie nieznacznie lepsze niż prostsze ustawienia, które zasugerowałem, kosztem większej ilości pracy. Ale dowiedz się, co jest w produkcji, zmierz się do korzystania z tego i przejdź do ważniejszych rzeczy; powróć do tego, gdy potrzebujesz dokładniej dostroić wydajność - najlepsze statystyki na świecie nie zapisają zapytania, w którym brakuje indeksu krytycznego.