Oracle
 sql >> база данни >  >> RDS >> Oracle

База данни:Конвейерни функции

За да цитирам от "Попитайте Том Оракул":

конвейерните функции са просто "код, за който можете да се преструвате, че е таблица на база данни"

конвейерните функции ви дават (удивително за мен) способността да

select * from PLSQL_FUNCTION;

всеки път, когато смятате, че можете да го използвате - за да изберете * от функция, вместо от таблица, може да е "полезно".

Що се отнася до предимствата:голямо предимство на използването на функция Pipeline е, че вашата функция може да връща редове един по един, за разлика от изграждането на целия набор от резултати в паметта като цяло, преди да го върне.

Горното дава очевидната оптимизация - спестяване на памет от нещо, което иначе би върнало голям набор от резултати.

Доста интересен пример за използване на конвейерни функции е тук

Това, което изглежда е добра употреба от тях, е ETL (извличане/трансформиране/зареждане) - например вижте тук




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-01438:стойност, по-голяма от определената прецизност, позволена за тази колона при вмъкване на 3

  2. Как мога да издам една команда от командния ред чрез sql plus?

  3. Едноредови функции в Oracle sql

  4. лоша производителност при избор на хибернация в сравнение с директното изпълнение - как да отстраните грешки?

  5. Намерете Weblogic Server Версия/Пачове в EBS R12.2/ Самостоятелен Weblogic