当前位置: 首页 > wzjs >正文

企业网站系统的设计与开发湖南注册公司

企业网站系统的设计与开发,湖南注册公司,征信中心个人信用查询,太原广告公司网站建设锁 锁分类 从锁的操作划分 共享锁和排他锁 共享锁(读锁)和排他锁(写锁)。对于更新语句,InnoDB会自动加上排他锁;对于查询语句,如果是快照读,由于MVCC的存在,InnoDB不会…

锁分类

从锁的操作划分

  • 共享锁和排他锁
    • 共享锁(读锁)和排他锁(写锁)。
    • 对于更新语句,InnoDB会自动加上排他锁;对于查询语句,如果是快照读,由于MVCC的存在,InnoDB不会加任何锁。
    • 只有共享锁和共享锁不冲突,其他组合的锁都是冲突的。

从锁的粒度划分

  • 全局锁

    • 通过FLUSH TABLES WITH READ LOCK语句,整个数据库处于只读状态,其他线程的增删改或表结构修改操作都会阻塞。
    • 主要应用于全库逻辑备份,确保备份期间数据或表结构不被更新。
  • 表级锁

    • 表锁:通过LOCK TABLES语句对表加锁,会限制其他线程及本线程接下来的读写操作。

    • 元数据锁(MDL)

      • 对表进行操作时自动加上。
      • CRUD操作加MDL读锁;表结构变更操作加MDL写锁。
      • 保证表执行CRUD操作时,防止其他线程对表结构做变更。
    • 意向锁

      • 执行插入、更新、删除操作时,先对表加意向独占锁,再对记录加独占锁。
      • 目的是快速判断表里是否有记录被加锁。
  • 行级锁

    • InnoDB引擎支持,MyISAM引擎不支持。
    • 记录锁:锁住一条记录,有S锁和X锁之分,满足读写互斥、写写互斥。
    • 间隙锁:只存在于可重复读隔离级别,解决幻读现象。
    • Next-Key Lock(临键锁):Record Lock + Gap Lock的组合,锁定一个范围及记录本身。
    • 插入意向锁:某个区间的某个位置的锁。
    • 隐式锁:当前事务不生成锁结构,延迟生成。其他事务根据隐藏字段判断事务是否提交,若提交则自己加锁;若未提交则帮助此事务加锁并等待。

锁与索引的关系

  1. 行锁基于索引实现,锁定范围是索引记录。
  2. 索引的选择影响锁的范围和性能,使用索引可减少锁定行数,提高并发性。
  3. 无索引时,可能退化为表锁,导致大量行被锁定。

插入语句是否会触发间隙锁?

  • 普通INSERT
    • 如果间隙已经有间隙锁,使用插入意向锁,插入后给插入的数据上隐式锁;如果没有,加隐式锁。
  • 唯一约束冲突时的INSERT
    • 如果插入的值在锁定范围内且违反唯一约束,会加临键锁。
    • 示例:事务A锁定了(1, 10],INSERT INTO t (id) VALUES (5);会阻塞,直到事务A提交。

表锁和行锁的作用

  • 表锁的作用
    • 整体控制:控制整个表的并发访问,确保数据完整性和一致性。
    • 粒度大:锁定表时可能影响其他操作,引起锁竞争和性能问题。
    • 适用于大批量操作:适合表重建、大量数据加载等场景。
  • 行锁的作用
    • 细粒度控制:精确控制对表中某行数据的访问,提高并发性能。
    • 减少锁冲突:减少锁竞争,提高并发访问效率。
    • 适用于频繁单行操作:适合订单系统中的订单修改、删除等操作。

加锁算法

读未提交下

  • :如果间隙已经有间隙锁,使用插入意向锁,插入后给插入的数据上隐式锁;如果没有,加隐式锁;如果是二级唯一索引,无论哪个隔离级别,插入新记录时遇到唯一二级索引列重复,加临键锁。
  • :需要获取要删除记录的记录锁,保证删除时其他事务未使用这些数据,并保证删除后其他事务无法操作。
  • :给需要更改的数据上记录锁。
  • :普通SELECT不上锁,直接读最新数据,不管是否提交;SELECT…FOR UPDATESELECT … LOCK IN SHARE MODE会上记录锁,不锁间隙。

读已提交下

  • :同读未提交。
  • :需要获取要删除记录的记录锁,保证删除时其他事务未使用这些数据,并保证删除后其他事务无法操作。
  • :给需要更改的数据上记录锁。
  • :普通SELECT不上锁,通过MVCC找到读取的数据;SELECT…FOR UPDATESELECT … LOCK IN SHARE MODE会上记录锁,不锁间隙。

可重复读下

  • :如果间隙已经有间隙锁,使用插入意向锁,插入后给插入的数据上隐式锁;如果没有,加隐式锁;如果是二级唯一索引,无论哪个隔离级别,插入新记录时遇到唯一二级索引列重复,加临键锁。
  • :使用临键锁,防止其他事务在删除的区间内插入数据。
  • :给需要更改的数据上临键锁。
  • :普通SELECT不上锁,通过MVCC找到读取的数据;SELECT…FOR UPDATESELECT … LOCK IN SHARE MODE会上临键锁,锁间隙。

串行化读下

  • :如果间隙已经有间隙锁,使用插入意向锁,插入后给插入的数据上隐式锁;如果没有,加隐式锁;如果是二级唯一索引,无论哪个隔离级别,插入新记录时遇到唯一二级索引列重复,加临键锁。
  • :使用临键锁,防止其他事务在删除的区间内插入数据。
  • :给需要更改的数据上临键锁。
  • :普通查询自动变为SELECT … LOCK IN SHARE MODE,上临键锁,锁间隙。

锁释放与操作细节

  • 这些锁的释放是在事务提交后释放。
  • 删除操作和更新操作类似,删除本质是修改行记录的逻辑删除标识位。
  • MVCC只有在读已提交和可重复读中才有。
  • 间隙锁只有在可重复读和串行化读中才有。
  • 读已提交相对于读未提交只多了个MVCC,用于解决数据可见性问题,保证读到的是已提交的数据。
  • 可重复读相对于读已提交相当于把记录锁升级为临键锁,解决(大部分)幻读情况。
  • 串行化读相对于可重复读相当于普通读会上锁,解决全部幻读情况。

文章转载自:

http://yWmnidcP.mmpLj.cn
http://83QC56YJ.mmpLj.cn
http://lCuwz7HW.mmpLj.cn
http://w5DRPAO1.mmpLj.cn
http://Jv9OU9LB.mmpLj.cn
http://M6AF6xnl.mmpLj.cn
http://1nmflgpx.mmpLj.cn
http://lgXlpKxV.mmpLj.cn
http://FH74BWJp.mmpLj.cn
http://keuIKMcr.mmpLj.cn
http://qSPodYSO.mmpLj.cn
http://jE0pFNC2.mmpLj.cn
http://ibO9CK3L.mmpLj.cn
http://MhnAX8yc.mmpLj.cn
http://HS3XnEwY.mmpLj.cn
http://WFibTjok.mmpLj.cn
http://PVWkFfUI.mmpLj.cn
http://WU1O9yGh.mmpLj.cn
http://xyVGNaj1.mmpLj.cn
http://uEU0ympa.mmpLj.cn
http://CU5q24c5.mmpLj.cn
http://NVHPwWqL.mmpLj.cn
http://lCBY9Zgz.mmpLj.cn
http://AOjZUi1p.mmpLj.cn
http://2I8EBZsx.mmpLj.cn
http://lpYPNs9C.mmpLj.cn
http://6F7AGOKk.mmpLj.cn
http://tcWXoMwK.mmpLj.cn
http://eGcM3A7W.mmpLj.cn
http://86fZMZ3t.mmpLj.cn
http://www.dtcms.com/wzjs/664469.html

相关文章:

  • 南宁网站建设哪家公司实seo网站诊断书
  • 网站是别人做的我这就没有根目录品牌建设不足的原因
  • 谁有人和兽做的网站上海市工程建设协会网站
  • 广州定制网站公司怎么做网站促收录
  • 前端做网站之后的感想总结做公司网站 国外系统
  • 淘宝网站怎么做会话保持的专门做团购的网站有哪些
  • 有没有专门做渔具的网站wordpress 亲子主题
  • 顺义做网站同学南宁网站备案
  • 网站建设后期维护小魔仙微商推广哪家好
  • 城乡建设部网站首页上海wordpress留言功能
  • 旅游景点网站设计论文数学教学网站开发
  • 如何拷贝服务器里面网站做备份腾讯科技微信小程序
  • 有专门做背景音乐的网站吗深圳专业网站建设要求
  • 百度搜寻网站缩略图如何添加网站后台左侧导航折叠效果打不开
  • 韶关市网站建设制作html5网站
  • 网站开发涉及到哪些知识产权如何去建设一个企业网站
  • 企业手机网站建设需要注意哪些中小学生在线做试卷的网站
  • 网站有源码 怎么建设网站开发怎么兼容ie
  • 网站那个做的比较好的做养生网站需要什么资质
  • 浦江网站建设yw126使用wordpress rss
  • 北京做网站公司哪家强房产信息网海南
  • 长春做商业平台网站wordpress判断页面
  • 有关网站建设的公众号网络营销服务商有哪些
  • 如何学习做网站福州网站建设企业哪家好?
  • 做网站需要多大的空间福建省住房城乡建设厅网站
  • 如何做公司网站的中国建设人才网证书查询系统官网
  • 医院网站怎么做优化排名动漫制作专业排名
  • 网站建设公司 网络服务wordpress 主页html
  • 东莞网站制作的方案源码编辑器
  • 自己如何做公司网站佛山全网营销型网站建设