如果2个或更多人尝试同时更新同一个MySQL表会发生什么?

时间:2011-04-02 15:54:00

标签: mysql

如果应用程序在任何给定时间有数千个并发用户,并且在整个过程中存在2个或更多用户执行的操作导致应用程序由于在同一时间执行请求而更新数据库表,该怎么办?纳米秒。)

会发生什么,MySQL会简单地将一个放在另一个上,并且由于某种内部冲突错误,更改将反映最后一个还是世界将会结束?

2 个答案:

答案 0 :(得分:1)

这完全取决于查询的结构以及您使用的并发控制。

我建议您阅读this,以便对问题和可能的解决方案进行全面了解。

答案 1 :(得分:0)

这取决于存储引擎。

即使不同的行受到影响,MyISAM也不允许对同一个表进行并发更新,因为MyISAM总是锁定整个表。

而InnoDB允许同时更新两个不同的行,因为它会进行行级锁定。