Un noeud d'expression de table commune représente un fichier de travail généré par une expression de table commune dans une instruction SQL.
Les expressions de table commune ont les objectifs suivants :
- Elles font fonction de tables intermédiaires. Généralement, une expression de table imbriquée joue également ce rôle. Cependant, il est possible de faire référence à une expression de table commune plusieurs fois après son instanciation, or cela n'est pas possible pour les expressions de table.
- Elles vous permettent d'utiliser le SQL récursif. Une expression de table commune peut être définie de manière récursive, ce qui signifie qu'elle peut faire référence à elle-même dans la définition. Cette fonctionnalité est utile lorsque vous souhaitez décrire les relations hiérarchiques d'entités de base de données.
Un noeud d'expression de table commune porte le nom de l'expression de table commune spécifié dans l'instruction SQL et il est affiché par défaut sous forme de polygone fléché.
Accès de DB2 à une expression de table commune
L'optimiseur DB2 traite une expression de table commune comme un fichier de travail et DB2 utilise un balayage d'espace table (TBSCAN) pour y accéder.
Une expression de table commune doit être instanciée pour être accessible. L'expression est généralement instanciée au début de la requête. L'optimiseur DB2 utilise la définition d'une expression de table commune pour l'instancier.
Cette instanciation est généralement une sous-requête dans l'instruction SQL.
Cette sous-requête est représentée dans le graphique du plan d'accès sous forme d'un ou plusieurs blocs de requête, selon que la définition d'expression de table commune contient d'autres sous-requêtes.