簡體   English   中英

性能 多插入或多值單插入

[英]Performance Multiple inserts or multiple values single insert

性能明智(時間和服務器負載)是具有多個插入或具有多個值的單個插入更好。

我在 stackoverflow 上發現每個插入最多可以有 1000 個值集。

我說的是兩種情況......

  • 要插入大約 1000-3000 個值
  • 有時我會在 mySQL 數據庫中插入 20000-30000 個值集。

是的,通常批量插入比一次插入快,因為它避免了為每個插入語句發生的中間通信。

但有時它會導致問題,因為插入/更新語句在表/行上獲取排他鎖,這意味着當時沒有其他進程/連接可以使用表。

如果您有多個同時使用 DB 的進程,其中一些正在從表中讀取,一些正在寫入,那么在批量插入時整個操作將被鎖定/停止

因此,批量插入將比單次插入鎖定表的時間更長,如果鎖定時間更長並且未針對它調整 DB,這可能會導致其他進程出現問題。

如果您只是在沒有其他操作的情況下插入數據庫,那么從文件中進行批量插入(這要快得多),如果您有其他進程,請考慮鎖定調整批量插入頻率。

更新語句的可能重復項db2 中的批量更新是否比單個更新更快?

與性能一樣,正確的答案取決於它,因為您提到的因素還有很多。

但一般來說,多行插入語句比單個單行插入更快,因為客戶端和服務器之間的通信開銷較低。

推薦閱讀

暫無
暫無

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

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