2014-02-10 44 views
1

我有要求在Web應用程序的某個部分中執行數百次插入。它目前通過循環一個準備好的語句並單獨提交每個語句來工作。這個過程很容易發生事務超時(延長超時時間不可行)。它需要完全重寫才能更高效。我已經能夠拿出兩個想法:Java多重插入

  1. 代替使用準備好的聲明中使用了我想要插入其追加到查詢每增加一個項目正常的聲明和簡單的循環。我並不十分關心sql注入,因爲這一切都源於過程中早先驗證過的單個id。請隨時告訴我這是否天真。

  2. 在數據庫中有一個執行所有插入的存儲過程。我會通過使用可調用的語句來調用它。

如果還有其他(更好)的方式沒有在這裏提到,請讓我知道。

+1

您應指定使用的是什麼樣的DB的。一些數據庫有專門的解決方案來提高插入速度。 – Dariusz

+0

@Dariusz - 這是Oracle 11g。它不是重複的。但它是相似的。 – Justin

回答