ANALYTIC

このセクションでは、Analytic Language Elementsの変換リファレンスのドキュメントをご覧いただけます。

EXPLAIN

EXPLAIN 句の変換仕様。

Teradataの[ドキュメント](https://docs.teradata.com/r/Enterprise_IntelliFlex_Lake_VMware/QueryGridTM-Installation-and-User-Guide-3.08/Configuring-and-Using-Links/Using-Links/Using-a-Teradata-to-TargetConnector-Link/SQL-Command-Reference-for-the-Teradata-Initiator-Connector/EXPLAIN)によると、EXPLAIN 句は、クエリの実行を一連のステップに分解したテキストレポートであるステップごとの実行プランを生成します。

このステートメントの構文は以下の通りです。

 EXPLAIN [ <SQL_statement> ];
Copy

クエリ

 EXPLAIN SELECT * FROM table_1
Copy

結果

Explanation
  1. まず、グローバルデッドロックを防ぐために、予約済みの RowHash で TD_MAP 1 の DEMO_USER.table_3を読み取りロックします。

  2. 次に、 TD_MAP 1の DEMO_USER.table_3を読み取りロックします。

  3. 残余条件のない全行スキャンにより、 DEMO_USER.table_3から TD_MAP 1のすべての AMPs RETRIEVE ステップを、 AMPs 上にローカルに構築されたスプール1(group_amps)に対して実行します。 スプール1のサイズは、高い信頼性で1行(32バイト)と推定されます。このステップの推定時間は0.01秒です。

  4. 最後に、リクエストの処理に関与するすべての AMPs に END TRANSACTION ステップを送信します。

Snowflake

クエリ
    EXPLAIN SELECT * FROM table_1
Copy
結果
IDOPERATIONOBJECTSSCHEDULEPROJECTIONEXPRESSIONS
0ResultFinalize3[1]
1Exchange (SINGLE)
2ResultWorker2[1]
3Projection1[1]
4RowGenerator0[]

結果からわかるように、TeradataとSnowflakeの EXPLAIN は同じ目的、つまり、クエリが実行される際に実行されるステップの説明を提供することを目指しています。しかし、Teradataは、実行される各ステップの名前のみを表示するSnowflakeと比較して、より詳細な説明を使用します。