sql:SQL优化知识点记录(十二)

(1)读锁案例讲解

sql:SQL优化知识点记录(十二)_第1张图片

 sql:SQL优化知识点记录(十二)_第2张图片

sql:SQL优化知识点记录(十二)_第3张图片

sql:SQL优化知识点记录(十二)_第4张图片

sql:SQL优化知识点记录(十二)_第5张图片

sql:SQL优化知识点记录(十二)_第6张图片

 加读锁和写锁

sql:SQL优化知识点记录(十二)_第7张图片

查看是否上锁:In_use:变成了1 

sql:SQL优化知识点记录(十二)_第8张图片 

sql:SQL优化知识点记录(十二)_第9张图片

读写锁对我们数据产生哪些影响:

sql:SQL优化知识点记录(十二)_第10张图片

读锁:是共享锁,其他线程可以查看:

sql:SQL优化知识点记录(十二)_第11张图片

加了读锁:session1不能修改自己,也不可以读其他表

sql:SQL优化知识点记录(十二)_第12张图片

但是session2窗口可以读其他表 

sql:SQL优化知识点记录(十二)_第13张图片

session2:此时对加锁的表进行更改操作,它会进入阻塞状态 

sql:SQL优化知识点记录(十二)_第14张图片

 session1:进行解锁后,session2才能完成更新操作,等待45秒

sql:SQL优化知识点记录(十二)_第15张图片

sql:SQL优化知识点记录(十二)_第16张图片

sql:SQL优化知识点记录(十二)_第17张图片

sql:SQL优化知识点记录(十二)_第18张图片

session1加了读锁:此时session1不能改,和读其他没加锁的表,session2可以查看加锁的表,可以查看其他表,也可以更改加锁的表进入阻塞,但是影响系统性能

(2)读锁案例2

sql:SQL优化知识点记录(十二)_第19张图片

sql:SQL优化知识点记录(十二)_第20张图片

sql:SQL优化知识点记录(十二)_第21张图片 

加了写锁之后:session1可以自己读,也可以进行修改加写锁的表,但是不能读其他表:

sql:SQL优化知识点记录(十二)_第22张图片

session2:此时不能读取(修改)加写锁的表,但是可以读其他表

sql:SQL优化知识点记录(十二)_第23张图片

当session1解锁写锁后session2才可以读取出来:sql:SQL优化知识点记录(十二)_第24张图片

sql:SQL优化知识点记录(十二)_第25张图片

 sql:SQL优化知识点记录(十二)_第26张图片

sql:SQL优化知识点记录(十二)_第27张图片 

sql:SQL优化知识点记录(十二)_第28张图片

MyIsam要让它偏读,不要偏写

你可能感兴趣的:(数据库知识点总结,sql,数据库)