Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Dlaczego te statystyki programu SQL Server są nieaktualne, skoro jest ustawiona na automatyczną aktualizację?

Nawet jeśli ustawisz statystyki automatycznej aktualizacji na true, będą one aktualizowane tylko po osiągnięciu progu.. Jest to różne dla różnych wersji

Progi dla SQL Server 2012 lub starszego:

  1. Rozmiar tabeli spadł z 0 do> 0 wierszy

  2. Liczba wierszy w tabeli, w której zebrano statystyki, wynosiła 500 lub mniej, a colmodctr wiodącej kolumny obiektu statystyk zmienił się od tego czasu o ponad 500

  3. Tabela miała ponad 500 wierszy w momencie zbierania statystyk, a colmodctr kolumny wiodącej obiektu statystyk zmienił się o ponad 500 + 20% liczby wierszy w tabeli podczas zbierania statystyk

W przypadku SQLServer 2016 wprowadzono kilka większych zmian i statystyki aktualizacji SQL z nowym algorytmem (czytaj częściej niż stare wersje)

Zwykle ludzie planują prace konserwacyjne w weekendy, w tym odbudowę indeksu/aktualizację statystyk.

Powinno to zwykle zająć większość baz danych.W Twoim przypadku, jeśli widzisz problemy z wydajnością spowodowane nieprawidłowymi statystykami, możesz je zaktualizować ręcznie.Robimy to raz w tygodniu,ale strony takie jak StackOverflow robią to częściej

update stats tablename

Dalsza lektura/referencje:
Statystyki używane przez Optymalizator zapytań w Microsoft SQL Server 2008
Zrozumienie, kiedy statystyki zostaną automatycznie zaktualizowane




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiedy i jak używać klauzuli SQL PARTITION BY

  2. Czy bazy danych o różnych sortowaniach mogą się dogadać na jednym serwerze?

  3. Skrypt do zapisywania danych varbinary na dysku

  4. wybierz top N dynamicznie za pomocą N z tej samej instrukcji select

  5. Za pomocą sql znajdź następną dostępną liczbę całkowitą w zakresie, który nie występuje w istniejących podzbiorach liczb całkowitych