# 标题 *当前读*:
select ...lock in share mode (共享读锁
select ... for update
update , delete ,insert
当前读,读取的是当前的最近版本,并且**并且对读取的记录加上锁,阻塞其他的事务同时改动相同的记录,避免出现安全的问题**,## 标题
例如,假设update一条记录,但是另一个事务已经delete这条数据并且commit了,如果不加锁就会产生冲突,所以update的时候肯定要是**当前读**,得到最新的信息锁上对应的记录;
# *快照读*
单纯的select操作,不包括select上述的select ... lock in share mode, select ... for update
read Committed 隔离级别:每次select 都生成一个**快照读.**
read repeatable 隔离级别:开启事务后的第一个select语句才是快照读的地方,而不是一开启事务就是快照读,
数据库的锁相关
最新推荐文章于 2024-11-15 21:53:57 发布