Jakie są statystyki SQL Server?
Statystyki SQL Server to duże obiekty binarne, które są używane do przechowywania informacji statystycznych na temat rozkładu wartości w kolumnach tabeli.
Optymalizator zapytań SQL Server wykorzystuje statystyki do ustalenia, aby stworzyć szacunkową kardynałowość. Wartość kardynałów jest następnie wykorzystywana do stworzenia zoptymalizowanego i wysokiej jakości planu wykonania.
Kardynanie odnosi się do liczby wierszy.
Dlatego ważne jest, aby statystyki SQL Server jest ważne, ponieważ niepoprawne wyniki statystyk mogą prowadzić do kosztownego planu zapytania i wysokiego wykorzystania zasobów. Słaby plan wykonania z optymalizatora zapytań może prowadzić do problemów, takich jak blokowanie i zakleszcze.
Jaki jest plan wykonania SQL Server?
Plan wykonania lub plan zapytania odnosi się do serii zorganizowanych kroków w celu zapytania i dostępu do danych w bazie danych. Optymalizator zapytania wygeneruje graficzną reprezentację wysokiej optymalizowanej metody pobierania danych dla określonego zapytania.
Zobacz statystyki SQL Server
W SQL Server możesz użyć zapytania SQL Server Management Studio lub T-SQL, aby wyświetlić statystyki określonego obiektu.
W SSMS przejdź do baz danych -> Twoja docelowa baza danych -> Tabele -> Tabela docelowa -> Statystyka.
Jak pokazano:
Aby wyświetlić szczegóły określonego obiektu statystycznego, kliknij prawym przyciskiem myszy i wybierz opcję Właściwości. Możesz zobaczyć ostatni raz statystyki dla kolumn zostały zaktualizowane jako:
Aby wyświetlić rozkład i częstotliwość histogramu, użyj karty szczegółów w oknie właściwości.
SQL Server Widok Statystyka: Transact-SQL
Możesz także wyświetlić szczegóły statystyki za pomocą zapytania T-SQL. Rozważ przykładowe zapytanie pokazane poniżej:
Użyj SalesDB;
wybierać
statystyki.nazwa,
Stats_properties.ostatnio zaktualizowany,
Stats_properties.wydziwianie,
Stats_properties.Rows_sampled,
Stats_properties.Unfiltered_rows,
Stats_properties.Modyfikacja_Counter,
Stats_properties.kroki
z Sys.Statystyki jako statystyki
Zewnętrzne zastosowanie Sys.dm_db_stats_properties (statystyki.Object_id, statystyki.Stats_id) jako stats_properties
gdzie nazwa_ obiektu (statystyki.Object_id) = „Klienci”
Zamów przez last_updated desc;
Powyższe zapytanie powinno zwrócić przykładowy wynik jako:
SQL Server zapewnia również polecenie DBCC, aby pokazać szczegóły określonej statystyki. Przykład:
dbcc show_statistics („klienci”, „customerpk”);
Powyższe zapytanie ma odpowiednio dwa parametry: nazwa tabeli i statystyki docelowe.
SQL Server Aktualizuj statystyki
Istnieją różne sposoby aktualizacji statystyk na SQL Server. Aby włączyć Automatyczną aktualizację statystyki, kliknij prawym przyciskiem myszy docelową bazę danych, przejdź do karty opcji i ustaw „statystyki aktualizacji automatycznej aktualizacji” na kartę Automatyczną.
Aby ręcznie aktualizować statystyki za pomocą zapytania T-SQL, użyj zapytania, jak pokazano:
Aktualizacja statystyk DBO.Klienci;
Gdzie dbo.Klienci reprezentują tabelę docelową.
Możesz także użyć polecenia aktualizacji statystyk jako:
exec sp_upDatestats;
Wyjście jest jak:
Wniosek
Niniejszy przewodnik obejmuje sposób pracy ze statystykami SQL Server i różnymi metodami wykonywania aktualizacji statystyk w SSMS i T-SQL.