簡體   English   中英

jdbc executeBatch與大查詢執行

[英]jdbc executeBatch vs. execute with big query

我需要非常快速地更新/插入大量條目。 我看到2個選項

  • 創建許多查詢並通過executeBatch發送它們
  • 創建一個大查詢(包含所有特定於db的語法的更新/插入)並執行它。 由於更新的數量是固定的(“批量”),因此我也可以准備此語句

目標數據庫是oracle。 批處理中的插入/更新次數是1000到10000之間的固定數字(此數字會對性能產生影響嗎?)

那要走什么路呢?

您的選擇基本上是相同的。 實際上,它們可能是相同的,除非您的第二種選擇實施得不好。

使用內置的PreparedStatement批處理更為安全,因為驅動程序將比您更了解做什么。 程序員出錯的機會更少,而且如果您更改數據庫提供程序的情況發生過,則無需再次檢查解決方案是否仍然有效。

確保檢查出如何正確執行批處理。 例如,批量大小通常為100而不是您希望插入的全部行數(因此,您將有10個executeBatch() es來插入您的1000行)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM