本文作者:kris

Innodb表select查询顺序-innodb查询过程

kris 2025-01-18 07:54:04 2
Innodb表select查询顺序-innodb查询过程摘要: innodb select 会加锁么?会的意向锁是InnoDB自动加的,不需用户干预。对于UPDATE、DELETE和INSERT语句, InnoDB会自动给涉及数据集加排他锁(X...

innodb select 会加锁么?

会的

Innodb表select查询顺序-innodb查询过程

图片来源:网络

意向锁是InnoDB自动加的,不需用户干预。对于UPDATE、DELETE和INSERT语句, InnoDB会自动给涉及数据集加排他锁(X);对于普通SELECT语句,InnoDB不会加任何锁;

用SELECT ... IN SHARE MODE获得共享锁,主要用在需要数据依存关系时来确认某行记录是否存在,并确保没有人对这个记录进行UPDATE或者DELETE操作。但是如果当前事务也需要对该记录进行更新操作,则很有可能造成死锁,对于锁定行记录后需要进行更新操作的应用,应该使用SELECT...FOR UPDATE方式获得排他锁。

请教大佬,为什么innodb使用rr隔离级别情况下,一个事务内进行update操作后进行select?

当前事务也在readview中,如果不在readview中,做判断时,如果有一个t1时刻的事务一直存在,t2时刻事务提交,t3时刻开启一个新事务,那么永远查询不到t2事务提交的数据了。

文章版权及转载声明

作者:kris本文地址:https://www.damoyx.com/p/24583.html发布于 2025-01-18 07:54:04
文章转载或复制请以超链接形式并注明出处大漠游侠网

阅读
分享