网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

MySQL中常见锁

1.MySQL服务器逻辑架构

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

竞秀网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联从2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

2.MySQL锁

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

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

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

      背景:多粒度锁的并存场景。
      InnoDB支持多粒度锁(锁粒度:可分为行锁表锁),允许行锁和表锁共存。为了实现多粒度级别的锁定,InnoDB使用了意图锁。
      意向锁表级别的锁。先提前声明的一个意向,并获取表级别的意向锁(共享意向锁IS或排他意向锁IX),如果获取成功,则稍后将要或正在(才被允许),对该表的某些行加锁(S或X)了。
      注意:除了LOCK TABLES...WRITE,会锁住表中的所有行,其他场景意向锁实际锁不住任何行。
      意向协议锁:在事务能够获取表中的行上的共享锁之前,他必须首先获取表上的IS锁或更强的锁。在事务能够获取表中的行上的独占锁之前,它必须首先获取表上的IX锁
      意向锁实现的背景是多粒度锁的并存场景,兼容性如下:

XIXSIS
XConflictConflictConflictConflict
IXConflictCompatibleConflictCompatible
SConflictConflictCompatibleCompatible
ISConflictCompatibleCompatibleCompatible

      Conflict:互斥
      Compatible:兼容
      意向锁仅表示意向,是一种较弱的锁,意向锁之间兼容并行(IS,IX之间兼容并行)。X与IS,IX互斥,S与IX互斥。意向锁是比X/S更弱的锁,存在一种预判的意义。先获取更弱的IS,IX锁,如果获取失败就不必再获取更强S,X锁。


当前题目:MySQL中常见锁
本文链接:http://bjjierui.cn/article/pijied.html

其他资讯