Oracle
 sql >> Base de données >  >> RDS >> Oracle

Base de données :fonctions en pipeline

Pour citer "Ask Tom Oracle":

les fonctions en pipeline sont simplement "du code que vous pouvez prétendre être une table de base de données"

les fonctions en pipeline vous donnent la capacité (incroyable pour moi) de

select * from PLSQL_FUNCTION;

chaque fois que vous pensez pouvoir l'utiliser - pour sélectionner * dans une fonction, au lieu d'un tableau, cela peut être "utile".

En ce qui concerne les avantages :un gros avantage de l'utilisation d'une fonction Pipeline est que votre fonction peut renvoyer des lignes une par une au lieu de créer l'ensemble du résultat en mémoire dans son ensemble avant de le renvoyer.

Ce qui précède donne l'optimisation évidente - des économies de mémoire à partir de quelque chose qui, autrement, renverrait un grand ensemble de résultats.

Un exemple assez intéressant d'utilisation de fonctions en pipeline est ici

Ce qui semble être une bonne utilisation d'eux est ETL (extraire/transformer/charger) - par exemple voir ici