有人可以提供一個如何在oracle pl/sql中使用並行表功能的例子。我們需要運行15年的大量查詢並將結果合併。流水線功能
SELECT *
FROM Table(TableFunction(cursor(SELECT * FROM year_table)))
...是我們想要的有效。最內層的選擇會提供所有年份,而表函數將每年執行一次並運行大量查詢並返回一個集合。我們現在面臨的問題是,所有年份都被提供給一個表函數本身,我們寧願每年都平行調用表函數。我們嘗試通過散列和範圍進行各種分區,但沒有任何幫助。
另外,我們可以從函數聲明中刪除關鍵字PIPELINED嗎?因爲我們沒有執行任何轉換,只需要結果集合。
你能描述一下你想什麼,以及爲什麼你認爲你需要一個管道功能?目前,這聽起來像你需要每年運行一個查詢。 – 2010-03-11 15:55:46
即使我們每年運行一個查詢,我們也需要在所有年份範圍內並行進行。如果有比使用並行流水線更好的選項,請建議。 – Prakash 2010-03-15 09:28:06