Teradata - Statistik

Das Teradata-Optimierungsprogramm entwickelt für jede SQL-Abfrage eine Ausführungsstrategie. Diese Ausführungsstrategie basiert auf den Statistiken, die für die in der SQL-Abfrage verwendeten Tabellen gesammelt wurden. Statistiken für die Tabelle werden mit dem Befehl COLLECT STATISTICS erfasst. Das Optimierungsprogramm benötigt Umgebungsinformationen und Datendemografien, um eine optimale Ausführungsstrategie zu entwickeln.

Umweltinformationen

  • Anzahl der Knoten, AMPs und CPUs
  • Speichermenge

Datendemografie

  • Reihenanzahl
  • Zeilengröße
  • Wertebereich in der Tabelle
  • Anzahl der Zeilen pro Wert
  • Anzahl der Nullen

Es gibt drei Ansätze, um Statistiken auf dem Tisch zu sammeln.

  • Zufällige AMP-Stichprobe
  • Vollständige Statistiksammlung
  • Verwenden der Option SAMPLE

Statistiken sammeln

Mit dem Befehl COLLECT STATISTICS werden Statistiken für eine Tabelle erfasst.

Syntax

Im Folgenden finden Sie die grundlegende Syntax zum Sammeln von Statistiken für eine Tabelle.

COLLECT [SUMMARY] STATISTICS   
INDEX (indexname) COLUMN (columnname) 
ON <tablename>;

Beispiel

Im folgenden Beispiel werden Statistiken zur Spalte EmployeeNo der Employee-Tabelle erfasst.

COLLECT STATISTICS COLUMN(EmployeeNo) ON Employee;

Wenn die obige Abfrage ausgeführt wird, wird die folgende Ausgabe erzeugt.

*** Update completed. 2 rows changed. 
*** Total elapsed time was 1 second.

Anzeigen von Statistiken

Sie können die gesammelten Statistiken mit dem Befehl HELP STATISTICS anzeigen.

Syntax

Im Folgenden finden Sie die Syntax zum Anzeigen der gesammelten Statistiken.

HELP STATISTICS <tablename>;

Beispiel

Im Folgenden finden Sie ein Beispiel zum Anzeigen der in der Mitarbeitertabelle gesammelten Statistiken.

HELP STATISTICS employee;

Wenn die obige Abfrage ausgeführt wird, wird das folgende Ergebnis erzeugt.

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