首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与文档相关的MySQL锁的混淆

问与文档相关的MySQL锁的混淆
EN

Stack Overflow用户
提问于 2018-01-02 19:13:30
回答 1查看 49关注 0票数 2

MYSQL锁定文档告诉我一份声明

代码语言:javascript
复制
SELECT * FROM child WHERE id = 100;

如果id是非唯一行或非索引行,则会导致进程间隙锁定。但是,这是一致的非锁定select语句的语法。我认为这些语句使用了自己的快照,避免了锁定。上述间隙锁定是否仅适用于查询时?我哪里出问题了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-02 19:47:55

正确的理解是,非锁定选择不会创建锁,也不会创建任何间隙锁。

这个例子是错误的,或者充其量是不清楚的。

锁定选择包括LOCK IN SHARE MODE (创建S锁)或FOR UPDATE (创建X锁)。因为有两个可能的锁定子句,也许作者打算写一些东西来说明其中一个会导致间隙锁,但是他们忘记写了。

在Gap一节的开头,文本确实使用了一个示例语句SELECT c1 FROM t WHERE c1 BETWEEN 10 and 20 FOR UPDATE;,这是一个更清楚的锁定选择示例。

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

https://stackoverflow.com/questions/48066533

复制
相关文章

相似问题

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