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