update set num=num+1 和 select for update

2022-03-10 00:31:02 +08:00
 rimutuyuan

https://stackoverflow.com/a/5309003

在这个回答中,为什么 select for update 更优越呢?

英文很差,只能机翻看,一头雾水

1750 次点击
所在节点    MySQL
3 条回复
liprais
2022-03-10 00:38:49 +08:00
看你想干啥了
另外 myisam 早就该进历史垃圾堆了
gstqc
2022-03-10 00:51:46 +08:00
因为 MyISAM 在 update 时必须锁整个表
update 操作其实隐含了 select 操作

MyISAM 有读锁和写锁,读锁可以有多个,写锁只有一个所以只能锁整个表
select for update 相当于先 select 再 update ,这样在 select 阶段就不需要锁整个表

MyISAM 只有一些特殊场景才用吧,频繁更新数据的场景根本就不应该用 MyISAM
sumulige
2022-03-10 01:21:31 +08:00
myisam 只支持表锁

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/839269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX