Czy statystyki SQL Server są przechowywane w bazie danych lub puli buforów?


10

Zastanawia mnie tylko, czy statystyki są przechowywane w bazie danych, ale nie w pamięci? Czy w przypadku tworzenia kopii zapasowej / przywracania bazy danych z serwera prod na serwer programistyczny zachowałbym te same statystyki, aby plany wykonania nie różniły się znacznie, jeśli robię to na serwerze programistycznym?

Odpowiedzi:


15

Pula buforów jest pamięcią podręczną bazy danych. Nigdy nie ma „lub”, rzeczy, które znajdują się w puli buforów, również znajdują się w bazie danych. A wszystko odczytane z bazy danych musi, nawet tymczasowo, znajdować się w puli buforów.

Jeśli chodzi o pytanie: statystyki znajdują się w bazie danych, więc kopia zapasowa / przywracanie zachowa statystyki.

Należy jednak pamiętać, że zachowanie statystyk nie jest gwarancją zaplanowania odtwarzalności. Inne czynniki wpływają na generowanie planu, takie jak liczba procesorów i ilość pamięci RAM.


ok, ma sens. Dziękuję za wyjaśnienie!
Joy Walker


3

Jak powiedział Remus , statystyki tabel są przechowywane w bazie danych podobnie jak inne obiekty, takie jak tabele i indeksy. Odgrywają dużą rolę w wyborze planu wykonania, ale są też inne czynniki.

To powiedziawszy, SQL Server zna inny rodzaj statystyk, statystyki, które dostarczają nam informacji o ostatnich zachowaniach.

Na przykład DMV ys.dm_db_index_usage_statsi sys.dm_db_index_operational_statszwracają statystyki dotyczące sposobu użycia indeksu.

Te statystyki są przechowywane tylko w pamięci. Zgubić się przy ponownym uruchomieniu serwera i nie podróżować z kopią zapasową.

Optymalizator nie używa ich jednak do generowania planu.


Tak, właśnie dlatego miałem pytanie / zamieszanie. Myślałem, że statystyki są podobne do DMV. Mogą zniknąć po ponownym uruchomieniu serwera lub przywróceniu bazy danych na innym serwerze. Dzięki za rację.
Joy Walker,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.