Noeud de fonction de table

Un noeud de type fonction de table représente une fonction de table appelée par une instruction SQL.

Une fonction de table est une fonction utilisateur (UDF, user-defined function) renvoyant une table. Elle est spécifiée dans la clause FROM d'une instruction SQL. Une instruction SQL peut appeler la même fonction de table plusieurs fois ; chaque appel est représenté par un noeud de type fonction de table.

Un noeud de type fonction de table porte le libellé de cette fonction et est représenté par défaut par un hexagone.

Accès de DB2 à une fonction de table

DB2 peut effectuer un balayage d'espace table (TBSCAN) pour accéder à une fonction de table. Dans certains cas, DB2 insère le résultat d'une fonction de table dans un fichier de travail, auquel il accède par un balayage de fichier de travail (WFSCAN).

L'optimiseur DB2 utilise les statistiques de fonction de table répertoriées dans la table pour déterminer le plan d'accès. Elles sont répertoriées sous forme d'attributs dans la fenêtre Descripteur d'un noeud de type fonction de table. Pour spécifier ces attributs, vous pouvez mettre à jour la table du catalogue SYSIBM.SYSROUTINES. Vous pouvez également spécifier la valeur de l'attribut Cardinalité lorsque vous définissez la fonction de table avec l'instruction CREATE FUNCTION. Si vous ne définissez pas ces attributs, DB2 utilise les valeurs par défaut du tableau suivant.
Tableau 1. Statistiques de fonction de table utilisées par l'optimiseur
Attribut Explication Valeur par défaut
Cardinalité Cardinalité prévue de la fonction 10 000
Coût UC initial Estimation du nombre d'instructions exécutées lors du premier et du dernier appel de la fonction 40 000
Coût E-S initial Estimation du nombre d'entrées et de sorties effectuées lors du premier et du dernier appel de la fonction 0
Coût UC Estimation du nombre d'instructions par appel 4 000
Coût E-S Estimation du nombre d'entrées et de sorties par appel 0

Retour d'informations