Jak aktualizować statystyki SQL Server

Jak aktualizować statystyki SQL Server
W tym artykule zrozumie podstawy statystyki SQL Server i różne metody przeprowadzenia aktualizacji statystyki.

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.