Pipelined
функции, много класически пример е, когато правите SELECT * FROM table name
в SQL*Plus
. Това, което се случва е, Oracle предава поточно данните от таблицата...
Като гледане на видеоклип в youtube.
Моля, обърнете внимание на думата „Поточно предаване '.. И в нашата функция ние дефинираме колко реда предаваме поточно.. Всеки поточно предаване редът е незабавно достъпен за обаждащия се. Pipelining
означава от гледна точка на обикновените хора, не ме карайте да чакам, докато завършите, дайте ми каквото имате и продължавайте да обработвате и актуализирате едновременно.
В последната си процедура, след като изпълните всеки ред, стартирате sleep
обадете се за 10s
, така че записът е Поточно предаване до обаждащия се на всеки 10 секунди.
И една нормална таблична функция ще продължи да чака, докато цялата работа по обработката приключи, и след това ще върне препратката към курсора на набора от резултати.
конвейерните функции , те твърдят, че пестят памет, е чрез flushing
съдържанието незабавно и следователно използваният буфер винаги е минимален, докато броят на двупосочните пътувания се увеличава.