Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Różnica między funkcją tabeli a funkcją potokową?

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.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Słowo kluczowe Oracle „Partition By” i „Row_Number”

  2. niechciana wiodąca spacja w formacie liczb Oracle

  3. Oracle SQL:Zrozumienie zachowania funkcji SYS_GUID() w widoku wbudowanym?

  4. Wybierz N-ty wiersz z tabeli w Oracle

  5. Jak wyczyścić wszystkie elementy z pamięci podręcznej w Oracle