MySQL在这种情况下的表现?

时间:2014-02-08 10:06:32

标签: mysql

通常情况下,最好让10个不同连接的线程进行1次更新,或者让一个连接在一个线程中一个接一个地进行10次更新?

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

2 个答案:

答案 0 :(得分:1)

最好让10个不同连接的线程进行1次更新,如果 线程不需要是连续的,每个更新都与单独的表相关

答案 1 :(得分:1)

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

原因是:

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

然而,最好的方法是尽可能以现实的方式测试这两个选项。