提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录- 锁的分类
- 读锁、(共享锁)、 S锁
- 针对同一份数据,多个读操作可以同时进行而不会互相影响
- 写锁 、(排它锁) 、X锁
- 当前写操作没有完成之前,它会阻断其他读锁和写锁
- 表锁
- 表级锁分析--建表SQL
- 手动增加表锁
- lock table 表名字1 read(write),表名字2 read(write),其它;
- 查看表上加过的锁
- show open tables;
- 释放表锁
- unlock tables;
- 加读锁案例
- ==lock table mylock read==
- 加写锁案例
- ==lock table mylock write==
- 总结
- 表级锁的2种形式
- MALSAM引擎
- MALSAM引擎在执行查询语句前(**select**),-----会自动给涉及的所有表加**读锁**
- 在执行**增删改**操作之前,-------会自动给涉及的表加**写锁**
- 小结:
- ==读锁会阻塞写,但是不会堵塞读。而写锁则会把读和写都堵塞==
锁的分类 读锁、(共享锁)、 S锁
针对同一份数据,多个读操作可以同时进行而不会互相影响写锁 、(排它锁) 、X锁
当前写操作没有完成之前,它会阻断其他读锁和写锁表锁 表级锁分析–建表SQL
create table mylock(
id int not null primary key auto_increment,
name varchar(20)
)engine myisam;
insert into mylock(name) values('a');
insert into mylock(name) values('b');
insert into mylock(name) values('c');
insert into mylock(name) values('d');
insert into mylock(name) values('e');
select * from mylock;
手动增加表锁
lock table 表名字1 read(write),表名字2 read(write),其它;查看表上加过的锁
show open tables;释放表锁
unlock tables;加读锁案例
lock table mylock read
lock table mylock write
MALSAM引擎在执行查询语句前(select),-----会自动给涉及的所有表加读锁
在执行增删改操作之前,-------会自动给涉及的表加写锁
- 对MyISAM表的读操作(加读锁),不会阻塞其他进程对同一表的读请求,但会阻塞对同一表的写请求。只有当读锁释放后,才会执行其它进程的写操作。
- 对MyISAM表的写操作(加写锁),会阻塞其他进程对同一表的读和写操作,只有当写锁释放后,才会执行其它进程的读写操作。
读锁会阻塞写,但是不会堵塞读。而写锁则会把读和写都堵塞



