暂无图片
mysql在RR隔离级别,当更新表中一行记录,且where条件中的字段没有索引时(例如: update tb set name='' where idno='xxx'),下面哪些说法正确?
我来答
分享
好好学习
2023-10-13
mysql在RR隔离级别,当更新表中一行记录,且where条件中的字段没有索引时(例如: update tb set name='' where idno='xxx'),下面哪些说法正确?

mysql在RR隔离级别,当更新表中一行记录,且where条件中的字段没有索引时(例如: update tb set name='' where idno='xxx'),下面哪些说法正确?
A tb表不会锁住,一行记录加行锁
B tb表会被锁住,加表锁
C tb表会被锁住,所有记录加行锁
D tb表不会锁住,部分记录加行锁

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
chengang

C

暂无图片 评论
暂无图片 有用 6
打赏 0
暂无图片
赵师的工作日

这个理解其实是不对的。
innodb行锁锁住的是索引,在没有索引的时候对所有记录加锁其实锁住的是聚簇索引的全部行。
虽然是对表中所有的聚簇索引行上了锁,但是不能直接理解为表锁,因为表锁的实现方式和行锁是完全不同的。这里的“tb表会被锁住”是不对的。

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏