10.数据库表锁
1.分类:
从操作类型上分:读锁和写锁
总结,本事务中,只能读取加读锁的表;不能更新加读锁的表和其他未加锁的表读写 ( 只能读加读锁的表,其他都不可以做)
其他线程事务,可以读取加读锁或者未加锁的表,也可以更新其他未加锁的表,但是就是不能更新或者新增加读锁的表;(更新或者新增只能等待其他事务加读锁的表,其他都可以做)
总结:本事务中,对表加写锁,可以对此表进行读操作和写操作;但是对其他没有加锁的表不能操作;
其他事务中,只能读和写其他无加读锁的表;对其他事务加写锁的表只能阻塞等待;
从粗细粒度分为,行锁和表锁
2.手动加锁:
lock table 表名 read(write), 表名2 read(write)
3.查看表状态
show open tables
4.释放锁
unlock tables
5.查看数据库表锁的情况:
show status like 'table%'