sql >> Database >  >> RDS >> Oracle

Database:gepipelinede functies

Om te citeren uit "Ask Tom Oracle":

pijplijnfuncties zijn gewoon "code waarvan u kunt doen alsof het een databasetabel is"

gepijplijnde functies geven je de (voor mij verbazingwekkende) mogelijkheid om

select * from PLSQL_FUNCTION;

elke keer dat je denkt dat je het kunt gebruiken -- om * uit een functie te selecteren, in plaats van een tabel, kan het "nuttig" zijn.

Wat de voordelen betreft:een groot voordeel van het gebruik van een Pipeline-functie is dat uw functie rijen één voor één kan retourneren, in plaats van de volledige resultatenset in het geheugen op te bouwen voordat deze wordt geretourneerd.

Het bovenstaande geeft de voor de hand liggende optimalisatie - geheugenbesparing van iets dat anders een grote resultatenset zou opleveren.

Een redelijk interessant voorbeeld van het gebruik van pijplijnfuncties is hier

Wat er een goed gebruik van lijkt te zijn, is ETL (extract/transform/load) - zie bijvoorbeeld hier




  1. Lighty in een notendop

  2. Verbind SQL Server met SugarCRM

  3. Verbind Java met een MySQL-database

  4. Hoe u de laatste dag van de maand voor een bepaalde datum kunt vinden in MySQL