首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL的写锁应该暂停读锁

MySQL的写锁应该暂停读锁
EN

Stack Overflow用户
提问于 2012-08-29 21:38:17
回答 2查看 453关注 0票数 1

根据MySQL文档,如果任何会话都持有表的读锁,则另一个会话请求同一表的写锁,则必须给出写锁,并等待读锁。

我试过了,从两个控制台(Windows7)连接到MySQL服务器。从第一个控制台锁定表A(读锁),然后尝试从第二个控制台锁定相同的表(写锁),但是第二个控制台只是等待第一个锁释放。

谁错了:我还是文件?(MySQL服务器5.5.27版)

来自MySQL官方文件的引文:

“写锁通常比读锁具有更高的优先级,以确保尽快处理更新。这意味着如果一个会话获得一个读锁,而另一个会话请求一个写锁,则随后的读锁请求等待请求写入锁的会话获得并释放它。”

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-29 21:41:18

上面写着:

这意味着,如果一个会话获得一个读锁,然后另一个会话请求一个写锁,则随后的读取锁请求等待请求写入锁的会话获得并释放该锁。

已经获得的读锁不会在操作过程中被破坏。那会造成大破坏。等待的是后续请求

票数 0
EN

Stack Overflow用户

发布于 2012-08-29 21:41:06

关键词是后续 in subsequent READ lock requests。我认为这是说现有的读锁不会被暂停,相反,在写锁生效时发生的读锁将被推迟。所以我觉得医生是对的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12186895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档