Statistiques pour les fonctions définies par l'utilisateur
Pour créer des informations statistiques pour les fonctions définies par l'utilisateur (UDF), éditez le fichier SYSSTAT.ROUTINES .
L'utilitaire runstats ne collecte pas de statistiques pour les fonctions définies par l'utilisateur. Si des statistiques UDF sont disponibles, l'optimiseur peut les utiliser lorsqu'il estime les coûts de divers plans d'accès. Si les statistiques ne sont pas disponibles, l'optimiseur utilise des valeurs par défaut qui supposent une fonction UDF simple.
Le tableau 1 répertorie les colonnes de vue de catalogue pour lesquelles vous pouvez fournir des estimations afin d'améliorer les performances. Notez que seules les valeurs de colonne dans SYSSTAT.ROUTINES (à l'exclusion de SYSCAT.ROUTINES) peut être modifiée par les utilisateurs.
| Statistique | Description |
|---|---|
| IOS_PER_INVOC | Nombre estimé de demandes de lecture ou d'écriture exécutées chaque fois qu'une fonction est appelée |
| INSTS_PER_INVOC | Nombre estimé d'instructions machine exécutées chaque fois qu'une fonction est appelée |
| IOS_PER_ARGBYTE | Nombre estimé de demandes de lecture ou d'écriture exécutées par octet d'argument d'entrée |
| INSTS_PAR_ARGBYTE | Nombre estimé d'instructions machine exécutées par octet d'argument d'entrée |
| POURCENTAGE_OCTETS_CIBLE | Pourcentage moyen estimé d'octets d'argument d'entrée qu'une fonction traitera réellement |
| INITIAL_IOS | Nombre estimé de demandes de lecture ou d'écriture exécutées la première ou la dernière fois qu'une fonction est appelée |
| INSTALLATIONS INITIALES | Nombre estimé d'instructions machine exécutées la première ou la dernière fois qu'une fonction est appelée |
| Cardinalité | Nombre estimé de lignes générées par une fonction de table |
- INSTS_PER_INVOC: Définissez sur le nombre estimé d'instructions machine requises pour:
- Appeler EU_SHOE
- Initialiser la chaîne de sortie
- Renvoyer le résultat
- INSTS_PER_ARGBYTE. Défini sur le nombre estimé d'instructions machine requises pour convertir la chaîne d'entrée en une taille de chaussure européenne
- PERCENT_ARGBYTES: Défini sur 100, indiquant que la totalité de la chaîne en entrée doit être convertie
- INITIAL_INSTS, IOS_PER_INVOC, IOS_PER_ARGBYTE et INITIAL_IOS. Chaque valeur est définie sur 0, car cette fonction définie par l'utilisateur effectue uniquement des calculs
- La moitié du temps où le premier argument n'est pas trouvé, ce qui entraîne la recherche de l'ensemble du deuxième argument
- Le premier argument est également susceptible d'apparaître n'importe où dans le deuxième argument, ce qui entraîne la recherche de la moitié du deuxième argument (en moyenne) lorsque le premier argument est trouvé.
Vous pouvez utiliser INITIAL_INSTS ou INITIAL_IOS pour enregistrer le nombre estimé d'instructions machine ou de demandes de lecture ou d'écriture effectuées la première ou la dernière fois qu'une fonction est appelée ; cela peut représenter le coût, par exemple, de la configuration d'une zone de mémoire auxiliaire.
Pour obtenir des informations sur les entrées-sorties et les instructions utilisées par une fonction définie par l'utilisateur, utilisez la sortie fournie par votre compilateur de langage de programmation ou par les outils de surveillance disponibles pour votre système d'exploitation.