Pipelined funkcje, bardzo klasycznym przykładem jest wykonanie SELECT * FROM table name w SQL*Plus . Co się dzieje, Oracle przesyła dane z tabeli.
Jak oglądanie filmu na youtube.
Zwróć uwagę na słowo „Streaming „.. A w naszej funkcji definiujemy, ile wierszy przesyłamy strumieniowo.. Każdy przesyłany strumieniowo wiersz jest natychmiast dostępny dla dzwoniącego. Pipelining oznacza w kategoriach laika, nie każ mi czekać, aż skończysz, daj mi to, co masz, i jednocześnie przetwarzaj i aktualizuj mnie.
W ostatniej procedurze, po wylaniu każdego wiersza, inicjujesz sleep zadzwoń na 10s , więc rekord jest przesyłany strumieniowo do dzwoniącego co 10 sekund.
A normalna funkcja tabelowa będzie czekać, aż cała praca zostanie wykonana, a następnie zwróci odniesienie do kursora zbioru wyników.
funkcje potokowe , które twierdzą, że oszczędzają pamięć, są przez flushing zawartość natychmiast, a zatem używany bufor jest zawsze minimalny, podczas gdy liczba podróży w obie strony wzrasta.