> Tech > Conseil 7 : Appeler des SP ou des UDF externes pour des calculs complexes

Conseil 7 : Appeler des SP ou des UDF externes pour des calculs complexes

Tech - Par iTPro - Publié le 24 juin 2010
email

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 gratuitement cette ressource

IBMi et Cloud : Table ronde Digitale

IBMi et Cloud : Table ronde Digitale

Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

Tech - Par iTPro - Publié le 24 juin 2010