基本上,问题是:
在使用InnoDB的默认MySQL配置中,在事务中插入和更新比在两个单独的事务中更快地执行相同的操作。
我的假设是,当你在交易中做它应该更快但是如果有人可以举例说明它是否真的更快以及为什么会更好。
我认为答案取决于工作量,因此在这种情况下,单个交易应该更快,在这种情况下,两个交易应该更快。
使用哪个MySQL版本有关系吗?任何影响这个的选择?
答案 0 :(得分:0)
对于这个简单的情况,我会说它更快。当大事务中的操作数量很大时,可能会更慢。
它还取决于配置。在5.5及更早版本中,将innodb_flush_log_at_trx_commit保留为默认值1会对每个事务产生实际惩罚,并且在事务执行时执行insert + update会导致两个单独的事务和两个separete刷新记录。在5.6中,这更快。