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

网站维护的要求包括ui设计简介

网站维护的要求包括,ui设计简介,如何做企业网站优化,wordpress添加自定义tag标签1 全局锁 上锁后#xff0c;整个数据库处于只读状态 flush tables with read lock 释放#xff1a; unlock tables 应用#xff1a;用于全库逻辑备份 缺点#xff1a;如果数据量很大#xff0c;备份会花很多时间#xff0c;只能读数据#xff0c;造成业务停滞 如…1 全局锁 上锁后整个数据库处于只读状态 flush tables with read lock 释放  unlock tables 应用用于全库逻辑备份 缺点如果数据量很大备份会花很多时间只能读数据造成业务停滞 如果引擎支持可重复读的隔离级别备份之前可以先开启事务且由于MVCC的支持备份期间数据库仍然可以更新。  2 表级锁 2.1 表锁 分为共享锁和独占锁会互斥 //表级别的共享锁也就是读锁 lock tables t_student read;//表级别的独占锁也就是写锁 lock tables t_stuent write; 释放 unlock tables 尽量避免使用InnoDB中的表锁因为还有颗粒度更细的行级锁。 2.2 元数据锁 MDL 不需要显示使用MDL对表操作时会自动加MDL。 CRUD操作加MDL读锁对表结构变更加MDL写锁 MDL是为保证用户执行CRUD操作时防止其它线程对表结构做变更。 MDL在事务执行期间一直持有事务提交后释放。 MDL写锁获取优先级高于读锁当写锁等待后续所有CRUD操作都会被阻塞。因此对表结构变更前要先看看数据库中的长事务是否加了MDL读锁如果加了读锁后面所有操作都会被阻塞。可以考虑kill掉这个长事务。 2.3 意向锁 select 可以对记录加共享锁和独占锁加锁之前先对表加意向锁。 //先在表上加上意向共享锁然后对读取的记录加共享锁 select ... lock in share mode;//先表上加上意向独占锁然后对读取的记录加独占锁 select ... for update; 在使用 InnoDB 引擎的表里对某些记录加上「共享锁」之前需要先在表级别加上一个「意向共享锁」在使用 InnoDB 引擎的表里对某些纪录加上「独占锁」之前需要先在表级别加上一个「意向独占锁」 也就是当执行插入、更新、删除操作需要先对表加上「意向独占锁」然后对该记录加独占锁。而普通的 select 是不会加行级锁的普通的 select 语句是利用 MVCC 实现一致性读是无锁的。 意向共享锁和意向独占锁是表级锁不会和行级的共享锁和独占锁发生冲突而且意向锁之间也不会发生冲突只会和共享表锁lock tables ... read和独占表锁lock tables ... write发生冲突。 作用如果没有意向锁加独占表锁时就需要遍历表中所有记录查看是否有记录存在独占锁。而有意向锁后在对记录加独占锁之前会对表加上意向独占锁和独占表锁互斥。 2.4 AUTO-INC锁 主键字段声明AUTO_INCREMENT属性可以不指定主键的值实现自增。这是通过AUTO-INC锁实现的。 AUTO-INC锁是一种特殊的表锁不再是一个事务提交后释放而是执行完插入语句后就会释放。 插入数据会加一个表级AUTO-INC锁主键自增其它插入语句会被阻塞保证字段的值连续递增插入完毕锁释放。 但大量数据插入时会影响性能。因此InnoDB提供了一种轻量级的锁来实现递增。插入数据时给主键字段赋值完毕后锁就释放不需要等整个插入语句执行完毕。 轻量级锁可能会导致主从数据库不一致的问题。参考小林coding. 3 行级锁 InnoDB 引擎是支持行级锁的而 MyISAM 引擎并不支持行级锁。 普通的 select 语句是不会对记录加锁的因为它属于快照读。 如果要在查询时对记录加行锁如下这种查询会加锁的语句称为锁定读。对记录加锁前会对表先加意向锁。 //对读取的记录加共享锁 select ... lock in share mode;//对读取的记录加独占锁 select ... for update; 3.1 Record Lock  记录锁分为S锁和X锁。 共享锁S锁满足读读共享读写互斥。独占锁X锁满足写写互斥、读写互斥。 3.2 Gap Lock 间隙锁只存在于可重复读隔离级别解决幻读现象。 假设表中有一个范围 id 为35间隙锁那么其他事务就无法插入 id 4 这条记录了这样就有效的防止幻读现象的发生。 间隙锁虽然存在 X 型间隙锁和 S 型间隙锁但是并没有什么区别间隙锁之间是兼容的即两个事务可以同时持有包含共同间隙范围的间隙锁并不存在互斥关系因为间隙锁的目的是防止插入幻影记录而提出的。 3.3 Next-Key Lock 临键锁Record Lock Gap Lock,锁定一个范围并锁定记录本身。 假设表中有一个范围 id 为35] 的 next-key lock那么其他事务即不能插入 id 4 记录也不能修改 id 5 这条记录。 next-key lock 是包含间隙锁记录锁的如果一个事务获取了 X 型的 next-key lock那么另外一个事务在获取相同范围的 X 型的 next-key lock 时是会被阻塞的。 3.4 插入意向锁 事务插入一条记录需要判断插入位置是否被其他事务加了间隙锁。有的话就会阻塞直到有间隙锁的事务提交为止在此期间会形成一个插入意向锁表示想插入记录但处于等待状态MySQL 加锁时是先生成锁结构然后设置锁的状态如果锁状态是等待状态并不是意味着事务成功获取到了锁只有当锁状态为正常状态时才代表事务成功获取到了锁。 插入意向锁并不是意向锁是一种特殊的间隙锁锁住的是一个点而不是一个区间。 两个事务不能在同一时间内一个拥有间隙锁一个拥有间隙区间内的插入意向锁。
http://www.zqtcl.cn/news/804852/

相关文章:

  • 网站推荐正能量专业做网站多少钱
  • 网站界面设计总结淘客手机端网站建设
  • 天津网站建设zhy88宁波企业黄页公司黄页
  • 个人网站课程设计报告app免费制作软件中文版
  • 品牌建设网站规划盛唐网站建设
  • 商城网站系统建站平台上建设的网站可以融资吗
  • 怎么查网站空间wordpress快速入门
  • 长沙 网站运营德国服务器网站
  • 有动效网站建网站的书籍
  • 网站模版更新公告2023年ppt模板免费
  • 广饶网站建设北京建设工程监督网站
  • 长沙网站建设电话郑州网站空间
  • 做网站是怎样赚钱的网页制作工具按其制作方式有
  • 网站地图在哪里展现电子商务网站需要做那些准备工作
  • 深圳网站设计收费标准中端网站建设公司
  • 有关wordpress教学的网站wordpress返回旧版
  • php做网站弊端wordpress强大播放器
  • 怎么直接做免费网站wordpress如何自建站
  • 中国建设银行建银购网站金堂企业网站建设
  • 手机微网站开发的目的和意义温州公司网站开发
  • 除了外链 还有什么办法使网站提高排名网站建设珠海 新盈科技
  • 几分钟弄清楚php做网站中国风景摄影网
  • 卡片式网站网页设计公司的市场评估
  • 网站开发的感想wordpress水煮鱼
  • 网站开发入门培训机构自豪地采用wordpress更改
  • 手机网站来几个最近的国际新闻大事件
  • 重庆网站开发设计公司电话资源网站优化排名
  • 国土分局网站建设方案外贸seo网站
  • 营销型网站建设易网拓烟台h5网站建设公司
  • PHP网站开发都需要学什么中介网站模板