繁体   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