2014-07-07 29 views
1

我有一個存儲過程,其中創建了一個臨時表。哪些方法(下面提到)應該用在pl/sql中

有16種不同的select語句,用於通過一次使用4個表上的連接將數據插入臨時表中。

新的要求是在基於某些輸入參數的條件下應用更多的條件。

我的問題是:

我現在有兩個選擇:

  1. 申請在同時插入數據到臨時表中的每個select語句子句條件。

  2. 插入數據時不應用任何條件,但最後從臨時表中刪除數據(不需要數據)。

第二種方法似乎很簡單,但我在想的性能問題最初不必要的數據會被插入到它,但每次又存在多個應用的​​過濾器。

任何人都可以指導我應該使用哪種方法。

基本上過濾,插入,刪除,這需要更多的時間。

所有的表格都有數千行。

回答

1

沒有確切的細節很難回答,但總的來說,第一種方法聽起來更好。

第二種方法意味着您將要執行兩次I/O(可能取決於確切的條件) - 一次將數據複製到臨時表中,並再次刪除它。如果你的數據集很大,這將是相當可觀的。

0

你的第一種方法更好。

如果選擇需要時間,則應優化選擇,以便使用索引。其次,你有一張大桌子,然後你從中選擇一些記錄,並不能解決你的問題。

相關問題