栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何锁定尚不存在的InnoDB行?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何锁定尚不存在的InnoDB行?

如果存在索引

username
(应该是索引,如果没有,则添加一个,最好是
UNIQUE
一个),那么发出a
SELECt * FROMuser_table WHERe username = 'foo' FORUPDATE;
将阻止任何并发事务创建该用户(以及“上一个”和“下一个”索引不唯一时的可能值)。

如果找不到 合适的 索引(满足

WHERe
条件),则不可能进行有效的记录锁定,并且整个表都将被锁定*。

该锁将一直保持到发出的交易结束

SELECT ... FOR UPDATE

在这些手册页中可以找到关于此主题的一些非常有趣的信息。

  • 我说有 效率,因为实际上记录锁定实际上是对索引记录的锁定。如果找不到 合适的 索引,则只能使用默认的聚集索引,并且它将被完全锁定。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号