Teradata - statystyki
Optymalizator Teradata opracowuje strategię wykonywania dla każdego zapytania SQL. Ta strategia wykonywania jest oparta na statystykach zebranych w tabelach używanych w zapytaniu SQL. Statystyki dotyczące tabeli zbierane są za pomocą polecenia ZBIERZ STATYSTYKI. Optimizer potrzebuje informacji o środowisku i danych demograficznych, aby opracować optymalną strategię wykonania.
Informacje o środowisku
- Liczba węzłów, procesorów AMP i procesorów
- Ilość pamięci
Dane demograficzne
- Liczba rzędów
- Rozmiar rzędu
- Zakres wartości w tabeli
- Liczba wierszy na wartość
- Liczba wartości zerowych
Istnieją trzy sposoby zbierania statystyk na stole.
- Losowe próbkowanie AMP
- Pełne zbieranie statystyk
- Korzystanie z opcji SAMPLE
Zbieranie statystyk
Polecenie COLLECT STATISTICS służy do zbierania statystyk dotyczących tabeli.
Składnia
Poniżej przedstawiono podstawową składnię do zbierania statystyk w tabeli.
COLLECT [SUMMARY] STATISTICS
INDEX (indexname) COLUMN (columnname)
ON <tablename>;
Przykład
Poniższy przykład zbiera statystyki dotyczące kolumny EmployeeNo tabeli Employee.
COLLECT STATISTICS COLUMN(EmployeeNo) ON Employee;
Kiedy powyższe zapytanie jest wykonywane, generuje następujące dane wyjściowe.
*** Update completed. 2 rows changed.
*** Total elapsed time was 1 second.
Przeglądanie statystyk
Zebrane statystyki można wyświetlić za pomocą komendy HELP STATISTICS.
Składnia
Poniżej przedstawiono składnię służącą do przeglądania zebranych statystyk.
HELP STATISTICS <tablename>;
Przykład
Poniżej znajduje się przykład przeglądania statystyk zebranych w tabeli Pracownik.
HELP STATISTICS employee;
Wykonanie powyższego zapytania daje następujący wynik.
Date Time Unique Values Column Names
-------- -------- -------------------- -----------------------
16/01/01 08:07:04 5 *
16/01/01 07:24:16 3 DepartmentNo
16/01/01 08:07:04 5 EmployeeNo