Bonjour à tous,
Tout d'abord je dois préciser que mon niveau SQL est tres faible...
voilà mon problème :
j'ai une procédure stockée qui parcours une table tres volumineuse et dans la close where du select de cette procedure, j'utilise le résultat d'une fonction.
Cela fonctionnait bien jusque maintenant mais on doit maintenant modifirer la fonction.
Le problème est que cette modification implique de parcourir une table assez volumiseuse aussi.
Donc je me retrouve à parcourir une premiere table tres volumineuse et pour chaque élément de cette table, je dois parcourir une autre table volumineuse.
Donc en gros si la première table contient 10000 lignes, je parcourerai 10000 fois la seconde table ... Qui elle meme peut contenir le meme nombre de ligne ...
Le but de passer la seconde table comme paramètre à la fonction, sous forme de curseur, serait de la charger une seule fois en mémoire afin de gagner en rapidité d'exécution
Est ce que c'est possible ?
La solution du curseur est elle la meilleure d'un point de vue performance ?
Merci d'avance pour votre aide
Partager