当前读和快照读

增删改查的实现原理

 

快照读:
简单的select操作,属于快照读,不加锁。
select * from table where ?;

普通读是通过 undo log + MVCC 来实现的。

 

当前读:
特殊的读操作,读取记录的最新版本
插入/更新/删除操作,属于当前读,需要加锁。
select * from table where ? lock in share mode;
select * from table where ? for update;
insert into table values (…);
update table set ? where ?;
delete from table where ?;

当前读是通过 next-key 锁(行记录锁+间隙锁)来是实现的。

 

 

 

你可能感兴趣的:(数据库)