读写锁

来源:2-4 事务原则与实现:JDBC事务(下)

幕布斯1098637

2019-11-24

老师你好,mysql是不是用的是读写锁,写操作是默认有锁的,读是可以并发读。要给读操作加锁要显性加上for update?

写回答

1回答

大漠风

2019-12-13

首先,数据库对数据的锁有几种,像Mysql的for update是写锁,也就是说,一个事务里面用这种方式读了数据以后,意思就是,我要改数据,谁都不许改,只能读。如果两个数据库等等事务里面都要进行for update类型的查询,第二个就会等待。

其次,不能说写操作默认有锁,一般的写操作,没有开启事务的话,可以理解成,数据库会自动开启一个事务,然后提交一个数据的更新操作,然后提交。而且,对于写操作,除非你在读这条数据的时候加了锁,要不然,在写的时候,就是直接进行更新操作,如果这时有别的事务锁了这条记录,并且是写锁,那么就会出错。

0
0

分布式事务实践,从原理到实例,解决数据一致性

掌握分布式事务实现技术,是架构师必备技能。

1149 学习 · 153 问题

查看课程