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

Guide de Reporting Microsoft 365 & Microsoft Exchange
Comment bénéficier d’une vision unifiée de vos messageries, mieux protéger vos données sensibles, vous conformer plus aisément aux contraintes réglementaires et réduire votre empreinte carbone ? Découvrez la solution de reporting complet de l’utilisation de Microsoft Exchange, en mode on-premise ou dans le Cloud.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- DPO : 5 ans après le RGPD, comment collaborer avec le RSSI ?
- EGERIE analyse les risques financiers liés aux risques cyber
- Vidéo « Accessibilité numérique » chez Microsoft
- Asklépian : des tests d’intrusion à 360° grâce à l’IA pour lutter contre les failles de sécurité
- Padok « faire du Cloud et de l’infrastructure, un véritable accélérateur business »
