On l'a vu, à partir de la V5R3, le code SPL est converti en code C avec SQL imbriqué. Pour presque toutes les instructions SPL, le code généré inclut un appel vers QSqRoute, le programme runtime fourni par IBM qui distribue des instructions SQL. Même une instruction d'assignation simple telle
Conseil 7 : Appeler des SP ou des UDF externes pour des calculs complexes

que
Set X = Y;
se traduit par un appel runtime à QSqRoute. Pour des SP,
des UDF et des triggers simples qui consacrent la plus grande
partie de leur temps à effectuer des opérations sur les bases
de données, cet overhead est négligeable. Mais il sera plus
pénalisant dans le cas de longs calculs ou de boucles exécutées
de nombreuses fois.
Le plus simple est de mettre ce genre de code de calcul
dans une procédure d’un programme de service et de définir
une SP ou une UDF externe pour la procédure. Ensuite, dans
le code SPL, utiliser une opération Call ou une référence de
fonction pour invoquer les calculs. Avec cette technique, il
faut faire très attention à ne pas mettre le SPL Call ou la référence
de fonction elle-même à l’intérieur d’une boucle
exécutée de nombreuses fois, parce que l’invocation d’une
SP ou d’une UDF est relativement longue.
Téléchargez cette ressource

Démocratiser l’adoption de l’IA par la maîtrise de ses données
Saviez-vous que 80% du temps de vos projets IA portent sur l’analyse de vos données ? explorez tous les outils nécessaires pour entreprendre une gestion performante de vos flux de données et optimiser votre architecture afin de réussir vos projets d’Intelligence Artificielle. découvrez le guide des experts Blueway.