【问题标题】:Database: Pipelined Functions数据库:流水线函数
【发布时间】:2010-05-23 01:46:08
【问题描述】:
我是管道函数概念的新手。我有一些关于
的问题
从数据库的角度来看:
- Pipeline 函数到底是什么?
- 使用 Pipeline Function 有什么好处?
- 使用 Pipeline Function 解决了哪些挑战?
- 使用 Pipeline Function 有什么优化优势吗?
谢谢。
【问题讨论】:
标签:
sql
mysql
database
oracle
【解决方案1】:
引用“Ask Tom Oracle”:
流水线函数只是“可以假装是数据库表的代码”
流水线函数为您提供(令我惊讶的)能力
select * from PLSQL_FUNCTION;
任何时候你认为你可以使用它——从一个函数而不是一个表中选择 *,它
可能是“有用的”。
就优势而言:使用管道函数的一大优势是您的函数可以逐一返回行,而不是在返回之前将整个结果集作为一个整体构建在内存中。
上面给出了明显的优化——从原本会返回大结果集的东西中节省内存。
using pipelined functions is here 的一个相当有趣的例子
ETL (extract/transform/load) - for example see here