mysql MyISAM 的表锁总结

总结:

Mysql 的表级锁有两种模式:表共享读锁(Table Read Lock)、表独占写锁(Table Write Lock)

语法:lock table 表名 READ(读锁)      lock table 表名 WRITE(写锁)

MyISAM(读锁): 

1、不会堵塞其他用户对一个表的读请求,但会阻塞对同一个表的写请求。

2、不会阻塞当前session对一表的读请求,对表进行修改的时候会报错。

3、当一个sessionA使用lock table命令给表A加了读锁,这个session可以查询锁定的表A 的记录,当时对其他表进行读操作或者更新操作的时候,都会报错。

4、另一个session对sessionA中锁定的表可以进行读操作,写操作则会出现锁等待。等待sessionA释放锁的时候,才可写操作执行成功。

MyISAM(写锁):

1、sessionA对表A添加写锁,sessionA中可以对表A 进行CRUD操作,当另一个sessionB中对表A进行CRUD操作就会出现锁阻塞。如果sessionA释放了锁链接,sessionB等待中的CRUD操作会执行完毕。sessionB中对其他表的CRUD操作不受影响

2、sessionA对表A添加写锁,sessionA中如果对其他表进行CRUD操作会报错。

猜你喜欢

转载自blog.csdn.net/kingofXIAN/article/details/82425438
今日推荐