深入理解MySQL——锁,事务,并发控制(未完待续)

1.MySQL服务器逻辑架构

      图片来源:MySQL官网
      深入理解MySQL——锁,事务,并发控制(未完待续)
      每个连接都会在MySQL服务端产生一个线程(内部通过线程池管理线程)。比如:一个select语句进入,MySQL首先会在查询缓存中查找是否缓存了这个select结果集,如果没有则继续执行解析→优化→执行得过程;否则直接从缓存中获取结果集。

2.MySQL锁

2.1共享锁与排他锁(Shared and Exclusive Locks)

      共享锁和排他锁都是标准的行级锁
      1)共享锁S:标准的读锁,读锁允许多个连接可以同一时刻并发读取同一资源,互不干扰。
      2)排他锁X:又称写锁,一个写锁会阻塞其他的写锁或读锁,保证同一个时刻只有一个连接可以写入数据,同时防止其他用户对这个数据的读写

锁类型 英文名 又称 同一时刻 共同点
共享锁S Shared Locks 读锁 同一时刻,允许多个连接并发的读取同一资源,互不干扰。 两者都是锁机制本身的策略,通过这两种策略对锁进行了区分
排他锁X Exclusive Locks  写锁 同一时刻只有一个连接可以写入数据,同时防止其他用户对这个数据的读写。 同上

2.2意向锁(Intention Locks)

      InnoDB支持多粒度锁(锁粒度:可分为行锁和表锁),允许行锁和表锁共存。

猜你喜欢

转载自blog.51cto.com/13678728/2475624