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

Differenza tra funzione tabella e funzione pipeline?

Pipelined funzioni, un esempio molto classico è dove si esegue un SELECT * FROM table name in SQL*Plus . Quello che succede è che Oracle trasmette i dati dalla tabella..

Come guardare un video su YouTube.

Tieni presente la parola "Streaming '.. E nella nostra funzione definiamo quante righe trasmettere in streaming.. Ogni streaming riga è immediatamente disponibile per il chiamante. Pipelining significa in parole povere, non farmi aspettare fino al completamento, dammi tutto ciò che hai e continua a elaborarmi e aggiornarmi contemporaneamente.

Nell'ultima procedura, dopo aver eseguito il piping di ogni riga, avvii uno sleep chiama per 10s , quindi il record è Trasmesso in streaming al chiamante ogni 10 secondi.

Inoltre, una normale funzione di tabella continuerà ad attendere fino al completamento di tutto il lavoro di elaborazione, quindi restituirà il riferimento al cursore del set di risultati.

funzioni pipeline , affermano di risparmiare memoria, è tramite flushing il contenuto immediatamente, e quindi il buffer utilizzato è sempre minimo, mentre il conteggio dei round trip aumenta.