锁的操作类型分类
锁的操作粒度分类
- 表锁: 偏向于读,MyiSAM
- 行锁:偏向于写,InnoDB
MyiSAM
-
在进行SELECT 操作前,MyiSAM会给涉及到的表加读锁。这个时候其他Session可以正常对未加锁的表进行操作。但是对加了读锁的表,只能对其进行查询(共享锁),对其修改则会阻塞,等待至表解锁后,才会生效。
-
Session1 Session2 给TABLE_A加读锁 无操作 可以对TABLE_A进行查询,不能对TABLE_A进行修改 可以对TABLE_A进行查询,不能对TABLE_A进行修改 查询修改 TABLE_B 报错 查询修改 TABLE_B正常 修改TABLE_A报错 修改TABLE_A阻塞 Unlock tables;解锁 TABLE_A被修改 -
在进行写操作前,MyiSAM会给涉及到的表加写锁。这个时候其他Session可以正常对未加锁的表进行操作。但是对加了写锁的表,对其进行读或写,都会阻塞,直至写锁释放后,才会进行相应操作。
-
<
-