2010-05-22 54 views
5

我是管道功能概念的新手。我有一個關於數據庫:流水線功能

但從數據庫點一些問題:

  • 實際上是什麼管道功能?
  • 使用管道功能的優點是什麼?
  • 使用管道功能解決了哪些挑戰?
  • 使用管道功能有什麼優化優勢?

謝謝。

+0

[創建流水線表函數(HTTP://文檔。 Oracle 11.2文檔中的oracle.com/cd/E11882_01/appdev.112/e25519/tuning.htm#autoId29)。 – user272735 2011-12-06 15:34:30

回答

7

引述FOM「問湯姆甲骨文」:

流水線功能是簡單的「代碼,你可以假裝是一個數據庫表」

流水線功能給你(我驚奇)能力

select * from PLSQL_FUNCTION;

任何時候,你認爲你可以使用它 - 從一個功能選擇*,而不是表,它 可能是「有用的」。

至於優點:使用管道功能的一大優勢是,你的函數可以返回行一個接一個,而不是建立在整個結果返回之前在內存中集爲一體。

上面給出了顯而易見的優化 - 從某些原本會返回大的結果集的內存節省。

using pipelined functions is here

一個相當有趣的例子是什麼似乎是一個很好的利用起來是ETL(提取/轉換/加載) - for example see here