ANALYTIC

Dans cette section, vous trouverez la documentation pour la référence de traduction des éléments du langage analytique.

EXPLAIN

Spécification de traduction pour la clause EXPLAIN.

Conformément à la [documentation] 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), la clause EXPLAIN produit un plan d’exécution étape par étape, qui est un rapport textuel décomposant l’exécution de la requête en une série d’étapes.

La syntaxe de cette instruction est la suivante :

 EXPLAIN [ <SQL_statement> ];
Copy

Requête

 EXPLAIN SELECT * FROM table_1
Copy

Résultat

Explanation
  1. Tout d’abord, nous verrouillons DEMO_USER.table_3 dans TD_MAP1 pour la lecture sur un RowHash réservé pour éviter un blocage global.

  2. Ensuite, nous verrouillons DEMO_USER.table_3 dans TD_MAP1 pour la lecture.

  3. Nous faisons une étape tous les AMPs RETRIEVE dans TD_MAP1 de DEMO_USER.table_3 par le biais d’une analyse de toutes les lignes sans conditions résiduelles dans Spool 1 (group_amps), qui est construit localement sur les AMPs. La taille de Spool 1 est estimée avec un niveau de confiance élevé à 1 ligne (32 octets). Le temps estimé pour cette étape est de 0,01 seconde.

  4. Pour finir, nous envoyons une étape END TRANSACTION à tous les AMPs impliqués dans le traitement de la requête.

Snowflake

Requête
    EXPLAIN SELECT * FROM table_1
Copy
Résultat
IDOPERATIONOBJECTSSCHEDULEPROJECTIONEXPRESSIONS
0ResultFinalize3[1]
1Exchange (SINGLE)
2ResultWorker2[1]
3Projection1[1]
4RowGenerator0[]

Comme vous pouvez le voir à partir des résultats, EXPLAIN dans Teradata et Snowflake ont le même objectif : fournir une explication des étapes qui seront effectuées lorsqu’une requête sera exécutée. Cependant, Teradata utilise une explication plus détaillée par rapport à Snowflake, qui n’affiche que le nom de chaque étape à exécuter.