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?
źródło
Oprócz tego, o czym wspomniał Remus , proponuję przeczytać -
źródło
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_stats
isys.dm_db_index_operational_stats
zwracają 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.
źródło