【发布时间】:2018-10-12 10:51:21
【问题描述】:
我需要更新一个表并在每次调用时设置VOTE_COUNT = VOTE_COUNT + 1,假设我有 10,000 个并发访问数据库并同时执行相同的语句:
UPDATE VOTE SET VOTE_COUNT = VOTE_COUNT + 1;
会不会是任何并发问题导致结果不等于 10000? (初始计数 = 0)
【问题讨论】:
-
可能取决于您的底层存储引擎。对于 innodb 我会说不,对于 myisam 我会说是。
-
引擎可能会影响这个的任何原因?在此先感谢:)
-
事务处理与否。如果没有事务处理,锁定也很重要。这会导致其表锁定时性能不佳。
标签: mysql database concurrency