sql >> Database teknologi >  >> RDS >> Oracle

Database:Pipelined funktioner

For at citere fra "Spørg Tom Oracle":

pipelinede funktioner er simpelthen "kode, du kan lade som om er en databasetabel"

pipelinede funktioner giver dig den (for mig fantastiske) evne til at

select * from PLSQL_FUNCTION;

hver gang du tror, ​​du kan bruge det -- at vælge * fra en funktion, i stedet for en tabel, kan det være "nyttigt".

For så vidt angår fordele:En stor fordel ved at bruge en Pipeline-funktion er, at din funktion kan returnere rækker én efter én i modsætning til at bygge hele resultatsættet i hukommelsen som helhed, før det returneres.

Ovenstående giver den åbenlyse optimering - hukommelsesbesparelser fra noget, der ellers ville returnere stort resultatsæt.

Et ret interessant eksempel på brug af pipelinede funktioner er her

Hvad der ser ud til at være en god brug af dem er ETL (extract/transform/load) - se for eksempel her




  1. Brug af MySQLi fra en anden klasse i PHP

  2. Mærkelig dubletadfærd fra GROUP_CONCAT af to LEFT JOINs af GROUP_BYs

  3. Disaster Recovery Planning for MySQL &MariaDB

  4. Salesforce API-forespørgselsmarkørgrænser