目录
一、概述
二、全局锁
三、表级锁
表级锁,每次操作锁住整张表。
锁定粒度大,发生锁冲突的概率最高,并发度最低。
应用在MyISAM、InnoDB、BDB等存储引擎中。
表级锁主要分为以下几类:表锁,元数据锁,意向锁
1)表锁
对于表锁,分为两类: 表共享读锁(read lock),表独占写锁(write lock)
语法: 加锁:lock tables 表名... read/write。 释放锁:unlock tables / 客户端断开连接 。
结论: 读锁不会阻塞其他客户端的读,但是会阻塞写。写锁既会阻塞其他客户端的读,又会阻塞其他客户端的写。
2)元数据锁
3)意向锁
分类:
意向共享锁(IS): 由语句select ... lock in share mode添加 。 与表锁共享锁(read)兼容,与表锁排他锁(write)互斥。
意向排他锁(IX): 由insert、update、delete、select...for update添加 。与表锁共享锁(read)及排他锁(write)都互斥,意向锁之间不会互斥。
一旦事务提交了,意向共享锁、意向排他锁,都会自动释放。