Mysql优化——锁机制
- 作用:解决因资源共享而造成的并发问题
- 分类:
按操作类型分为: - a.读锁(共享锁):对同一个数据(如衣服),多个读操作可以同时 进行,互不干扰。
- b.写锁(互斥锁):如果当前写操作没有完毕(如:买衣服的一系列 操作),则无法进行其他的读操作、写操作
按操作范围分为: - a.表锁:一次性对一张表整体加锁。如MySAM存储引擎使用表锁,开销小、加锁快;无死锁;但锁的范围大,容易发生锁冲突,并发度低。
- b.行锁:一次性对一条数据加锁。如InnoDB存储引擎使用行锁,开销大,加锁慢;容易出现死锁;锁的范围较小,不易发生锁冲突,并发度高(很小概率发生高并发问题:脏读、幻读、不可重复读,丢失更新等问题)
- c.页锁