MySQL的锁定读SELECT ... FOR UPDATE和SELECT ... LOCK IN SHARE MODE

来源:互联网 发布:rush鼻吸器淘宝 编辑:程序博客网 时间:2024/04/30 12:44

SELECT ... FOR UPDATE读最新的可见数据,在每个它读取的行设置独占锁定

SELECT ... LOCK IN SHARE MODE以共享模式读取数据。共享模式执行一个读意味着我们读最新的可用数

据,
并在我们读的行设置一个共享锁定共享模式锁防止其它人更新或删除我们已读的行。同时,如果最

新的数据属于其它客户端尚未提交的事务,我们等着知道那个事务被提交。


以我的理解,简单点儿说就SELECT ... FOR UPDATESELECT ... LOCK IN SHARE MODE更苛刻。对于

SELECT ... FOR UPDATE锁定的记录,其它事务既不能读也不能修改、删除;而对于SELECT ... LOCK IN

SHARE MODE
锁定的记录,其它事务不能修改、删除但是可以读。


原创粉丝点击