第二十三章 MySQL锁之表锁
目录
一、概述
二、语法
三、特点
一、概述
表级锁,每次操作锁住整张表。锁定粒度大,发生锁冲突的概率最高,并发度最低。应用在MyISAM、InnoDB、BDB等存储引擎中。
对于表级锁,主要分为以下三类:
1. 表锁
2. 元数据锁(meta data lock,MDL)
3. 意向锁
对于表锁,主要分以下两类类:
1. 表共享读锁(read lock)
2. 表独占写锁(write lock)
二、语法
加锁:lock tables 表名... read/write。
释放锁:unlock tables / 客户端断开连接 。
三、特点
A. 读锁
左侧为客户端一,对指定表加了读锁,不会影响右侧客户端二的读,但是会阻塞右侧客户端的写。
测试:
B. 写锁
左侧为客户端一,对指定表加了写锁,会阻塞右侧客户端的读和写。
测试:
结论: 读锁不会阻塞其他客户端的读,但是会阻塞写。写锁既会阻塞其他客户端的读,又会阻塞其他客户端的写。