Salut !

Pour les spécialistes, voici une question sur les performances de la clause BULK COLLECT INTO en comparaison avec une simple instruction passée en SQL Dynamique natif.
(nous sommes dans une procédure avec un paramètre VARCHAR2 en entrée qui est le nom d'une table)

Quelle instruction est la plus performante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
EXECUTE IMMEDIATE 'Create table table_NW as select A.ID, B.VALUE from maTable A left outer join '||pi_Table||' B on A.ID=B.ID';
ou alors :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
EXECUTE IMMEDIATE 'Select A.ID, B.VALUE from maTable A left outer join '||pi_Table||' B on A.ID=B.ID' BULK COLLECT INTO table_NW;
en suposant dans le deuxième cas que l'on aura déclaré la variable tableau nécessaire a récupérer le résultat avec la structure appropriée.

NB : chose très importante, le select va renvoyer environ 50 Millions de lignes, donc on se situe dans un contexte un peu particulier.

Merci pour le coup de main !