mysql锁机制

表锁(偏读)

多适用MyISAM引擎

1、读锁(共享锁)
如果表一获得读锁,当前session可以查询该表记录,当前session不能查询查询其他没有锁定的表,当前session中插入或者更新锁定的表都会提示错误;其他session也可以查询该表的记录,其他session可以查询或者更新未锁定的表,其他session中插入或者更新锁定的表会一直等待获得锁。

2、写锁(排它锁)

如果表一获得写锁,当前session对该表可以进行查询、更新、插入;其他session查询该表被堵塞,需要等待释放。

mysql锁机制_第1张图片

行锁

多适用InnoDB引擎,一支持事务,二采用行级锁。锁的粒度小,并发度高。

前提是不设置成自动提交。

mysql锁机制_第2张图片

mysql锁机制_第3张图片

事务隔离级别:

mysql锁机制_第4张图片

注意:有时候索引失效的时候,行锁变成表锁;间隙锁危害

mysql锁机制_第5张图片

学习手动设置行锁

你可能感兴趣的:(Skill)