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

Forskel mellem tabelfunktion og rørledningsfunktion?

Pipelined funktioner, er et meget klassisk eksempel, hvor du laver et SELECT * FROM table name i SQL*Plus . Det, der sker, er, at Oracle streamer dataene fra tabellen.

Som at se en video på YouTube.

Bemærk venligst ordet 'Streaming '.. Og i vores funktion definerer vi, hvor mange rækker vi streamer.. Hver streamet række er umiddelbart tilgængelig for den, der ringer op. Pipelining betyder i lægmandsforstand, lad mig ikke vente, indtil du er færdig, giv mig hvad du nogensinde har, og fortsæt med at behandle og opdatere mig samtidigt.

I din sidste procedure starter du en sleep efter at have overført hver række ring til 10s , så posten er Streamet til den, der ringer hver 10. s.

Og en normal tabelfunktion vil blive ved med at vente, indtil alt bearbejdningsarbejde er udført, og derefter vil den returnere referencen til resultatsætmarkøren.

pipelinede funktioner, de hævder at spare hukommelse, er ved at flushing indholdet med det samme, og derfor er den anvendte buffer altid minimal, hvorimod antallet af rundrejser bliver højere.




  1. Hvordan eksporterer man data som CSV-format fra SQL Server ved hjælp af sqlcmd?

  2. Sådan konverteres et Unix-tidsstempel til en dato/tidsværdi i PostgreSQL

  3. Følg mig på Twitter under Microsoft MVP Summit i næste uge

  4. Træk år fra en dato i PostgreSQL