DTA zaleca TWORZENIE STATYSTYKI

10

Właśnie uruchomiłem zapytanie T-SQL przez DTA i jednym z zaleceń jest TWORZENIE STATYSTYKI w jednej z kolumn, która jest częścią wielu zapytań w pliku kodu SQL.

Moje pytanie brzmi: w jaki sposób statystyki pomagają w wydajności?


źródło

Odpowiedzi:

7

statystyki są używane podczas tworzenia planu wykonania zapytania.

Statystyki optymalizacji kwerend to obiekty, które zawierają informacje statystyczne o rozkładzie wartości w jednej lub więcej kolumnach tabeli lub widoku indeksowanego. Optymalizator zapytań wykorzystuje te statystyki do oszacowania liczności lub liczby wierszy w wyniku zapytania. Te szacunki liczebności umożliwiają optymalizatorowi zapytań utworzenie planu zapytań o wysokiej jakości. Na przykład optymalizator zapytań mógłby użyć oszacowań liczności, aby wybrać operatora wyszukiwania indeksu zamiast bardziej wymagającego zasobów operatora skanowania indeksu, a tym samym poprawić wydajność zapytania.

Więcej informacji można znaleźć na stronie http://msdn.microsoft.com/en-us/library/ms190397.aspx .

Alex_L
źródło
1
świetny link i opis. Czy zawsze warto mieć statystyki tworzone na tabelach, do których często są wysyłane zapytania?
Thomas Stringer
tak, musimy mieć pewność, że statystyki najbardziej czytelnych tabel są zawsze odpowiednie. Jeśli twoja tabela wymaga intensywnego zapisu, możliwe jest, że musisz aktualizować statystyki, na przykład każdej nocy.
Alex_L
2
@ Surfer513 - bądź ostrożny: tworzenie statystyk może mieć szkodliwy wpływ. Im lepsza informacja, którą podajesz planistom, może sprawić, że wybierze inną ścieżkę wykonania, a ponieważ jest to gra prawdopodobieństwa, możliwe, że ta ścieżka będzie wolniejsza (nawet jeśli ogólnie będzie szybsza). Innymi słowy, w produkcyjnej bazie danych przetestuj przed wdrożeniem.
Jack mówi, że spróbuj topanswers.xyz
7

Jeśli DTA zaleca statystykę z jedną kolumną, musisz mieć wyłączone automatyczne tworzenie statystyk? Automatyczne tworzenie automatycznie tworzy statystyki dla dowolnej kolumny używanej w predykacie, więc ogólnie dobrym pomysłem jest pozostawienie go włączonego. Sprawdź status automatycznej aktualizacji dla tej bazy danych, która zwykle powinna być włączona.

Jednym z najlepszych zastosowań DTA jest identyfikacja brakujących statystyk wielokolumnowych, których automatyczne tworzenie nie zbuduje. Ale w przypadku pojedynczej kolumny automatyczne tworzenie powinno zająć się nimi.

Mark Storey-Smith
źródło