MySQL 在这种情况下的性能如何?

标签 mysql

一般来说,是让 10 个具有不同连接的线程每个执行 1 次更新,还是让一个连接在一个线程中一个接一个地执行 10 次更新更好?

在所有情况下,COMMIT 最终都会发生。

最佳答案

最好让一个线程执行 10 次更新,然后在最后执行一次提交。

原因是:

  • 数据库需要付出相当大的努力才能启动和提交事务。如果您在一次交易中完成所有操作,只需承担一次此费用
  • 执行查询所涉及的通信非常“冗长”- 大多数通信都涉及准备运行和整理。围绕更新查询本身的通讯会非常小。如果您只有 1 个通信 session ,则可以节省大量通信开销
  • 执行查询的大部分工作都在安全性、权限、语法检查等次要问题上 - 进行实际的数据操作。使用一个 session 至少可以节省多个 session 可能产生的重复工作

但是,最好的办法是尽可能以真实的方式简单地测试这两个选项。

关于MySQL 在这种情况下的性能如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21644639/

相关文章:

mysql Case语句在游标中不起作用

mysql - 如何删除早于某一年的行?

java - 使用 Hibernate Criteria 从日期中选择不同的年份

mysql - 如何修复未删除的触发器

mysql - 将日期转换为周

mysql - 使用事务运行 3 个数据库查询 1k 次是没有事务的两倍。正确的?

php - Codeigniter Select_Sum 返回 "array"不是数值?

sql - MySql批量加载命令行工具

mysql - sqoop导出无法将数据从hive仓库文件夹加载到mysql

mysql - 从 jdbc elasticsearch river 搜索