锁是计算机协调多个进程或线程并发访问某一资源的机制
特点
显著特点是不同的存储引擎支持不同的锁机制
表级锁:
两种模式:表 共享锁【读锁】(级别) > 表 独占锁【排他锁/写锁】
表级锁的存储引擎:
MyISAM:引擎
MEMORY:引擎
不能访问别的表
特点
- 作用范围:表级别
- 如果加了读锁,对MyISAM表的
读操作
,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写
请求 - 如果加了读锁,可以查询锁定表中的记录,但是更新或者访问其他表都会提示错误【对自己】
- 如果加了写锁,对MyISAM表的
写操作
,会阻塞其他用户对同一表的读 和 写
请求 - 如果加了写锁,可以读取表中的记录,但是更新或者访问其他表都会提示错误,可以写表中的数据【加锁表】【对自己】
如何加锁
MyISAM在执行查询语句(select)前,会自动给涉及的所有表加读锁,在执行更新操作
在执行(update、delete、insert)前,会自动给表加写锁
加锁
lock table 表名 read [local],
Lock table 表名 write [local]
多表加锁:
lock table 表名1,表名2 read/write [local]