ANALYTIC

In diesem Abschnitt finden Sie die Dokumentation für die Übersetzungsreferenz von Elementen der Analytik-Sprache.

EXPLAIN

Übersetzungsspezifikation für die EXPLAIN-Klausel

Gemäß der Teradata-Dokumentation erzeugt die EXPLAIN-Klausel einen schrittweisen Ausführungsplan, d. h. einen Textbericht, der die Ausführung der Abfrage in eine Reihe von Schritten aufschlüsselt.

Die Syntax für diese Anweisung lautet wie folgt:

 EXPLAIN [ <SQL_statement> ];
Copy

Abfrage

 EXPLAIN SELECT * FROM table_1
Copy

Ergebnis

Explanation
  1. Zuerst wird DEMO_USER.table_3 in TD_MAP1 für das Lesen auf einem reservierten RowHash gesperrt, um ein globales Deadlock zu verhindern.

  2. Als Nächstes wird DEMO_USER.table_3 in TD_MAP1 für das Lesen gesperrt.

  3. Dann wird für alle AMPs ein RETRIEVESchritt in TD_MAP1 von DEMO_USER.table_3 durch einen Scan aller Zeilen ohne Restbedingungen in Spool 1 (group_amps) durchgeführt, der lokal für die AMPs erstellt wird. Die Größe von Spool 1 wird mit hoher Sicherheit auf 1 Zeile (32 Byte) geschätzt. Die geschätzte Zeit für diesen Schritt beträgt 0,01 Sekunden.

  4. Schließlich wird ein END TRANSACTION-Schritt an alle AMPs gesendet, die an der Bearbeitung der Anfrage beteiligt sind.

Snowflake

Abfrage
    EXPLAIN SELECT * FROM table_1
Copy
Ergebnis
IDOPERATIONOBJECTSSCHEDULEPROJECTIONEXPRESSIONS
0ResultFinalize3[1]
1Exchange (SINGLE)
2ResultWorker2[1]
3Projection1[1]
4RowGenerator0[]

Wie Sie den Ergebnissen entnehmen können, hat EXPLAIN in Teradata und Snowflake dasselbe Ziel: eine Erklärung der Schritte zu liefern, die bei der Ausführung einer Abfrage ausgeführt werden. Allerdings verwendet Teradata eine ausführlichere Erklärung im Vergleich zu Snowflake, das nur den Namen jedes auszuführenden Schritts anzeigt.