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