SQL Server Statistics – podgląd danych

W poprzednim poście, wyjaśniłem do czego służą statystyki w SQL Server. Do dyspozycji MSSQL ma gęstość oraz dystrybucję danych. Dzisiaj pokażę, jak przeglądać te dane, aby przekonać się samemu, że faktycznie powyższe metryki istnieją.

Załóżmy, że mamy tabele Articles z dwoma kolumnami, ID oraz Price. Następnie tworzymy indeks, czyli zarazem statystykę na kolumnie Price. W Sql Server studio będzie to wyglądać następująco:

1

Dodajmy również kilka wierszy z tymi samymi cenami. W celu wyświetlenia statystyk należy wywołać DBCC SHOW_STATISTICS:

DBCC SHOW_STATISTICS('dbo.Articles',PRICE_INDEX)

Wynik będzie wyglądać następująco:

2

Pierwsza tabela przedstawia nazwę statystyki wraz z podsumowaniem. Widzimy m.in. datę ostatniej aktualizacji czy liczbę wierszy, które brały udział w obliczaniu metryk.

Druga tabela to gęstość. Wartość 1 oznacza, że nie ma unikalnych wierwszy. 0.125 to z kolei gęstość klucza.Mamy osiem wierszy i klucz główny zawsze ma unikalną wartość, stąd 1/8 równa się 0.125.

Ostatnia tabela to dystrybucja danych w formie histogramu. Histogram opisany jest za pomocą kilku kolumn tzn.:

RANGE_HI_KEY
RANGE_ROWS
EQ_ROWS
DISTINCT_RANGE_ROWS
AVG_RANGE_ROWS

RANGE_HI_KEY to wartość pojedynczego progu w hisogramie. Kolejne metryki opisują ile wartości przypada na ten próg (m.in. włączając granice progu, przypadające dokładnie w miejsce progu, liczba unikalnych wartość).

Szczegóły można znaleźć w dokumentacji m.in. tutaj. W praktyce oczywiście nie musimy analizować tych danych. Bardzo ważne jednak jest, aby mieć świadomość o SQL Statistics ponieważ statystyki mają ogromny wpływ podczas generowania planu wykonania.

Leave a Reply

Your email address will not be published.