版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wyongqing/article/details/82710560
锁表机制
- 锁机制
a.加锁读(共享锁):不会阻塞读请求(select, insert),阻塞写(update, delete)请求
b.加锁写(独占锁):阻塞其它读写(select, delete, insert, update)请求
- 锁耗时多长?
取决于sql耗时。控制好sql耗时,锁表的问题并不大。
测试数据
生成1000万条测试数
表user(id, username, password, age, sex)
存储引擎MyISAM,id建立索引
加锁读,select,insert不阻塞,update,delete阻塞
打开两个客户端
客户端1全表扫描
select * from user
客户端2测试阻塞
select * from user limit 10; #结果不阻塞
insert into user(username, password, age, sex)
values("aaaaa", "bbbb", 10, 1); #结果不阻塞
update user set username="aaa" where id =90001; #结果阻塞
delete from user where id =10000006 #结果阻塞
加锁写,select,insert,update,delete都阻塞
客户端1全表扫描写
update set username="aaaaaaa"
where username="不存在的值让sql扫描全表"
客户端2测试阻塞
重复上面select, insert, update, delete结果都阻塞
《了凡四训》详解之改过之法
https://v.youku.com/v_show/id_XMzY5NTcxMDIwOA
印光大师十念法(胡小林主讲第1集)
http://v.youku.com/v_show/id_XMzUwMzc4NzY4NA
此生必看的科学实验-水知道答案
http://v.youku.com/v_show/id_XMjgzMzcwNDk4OA