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

南京振高建设有限公司官方网站专业建设典型案例

南京振高建设有限公司官方网站,专业建设典型案例,网页公司制作,做网站图片处理问题1、全局锁 加上全局锁后整个数据库就处于只读状态了#xff0c;这时其他线程执行以下操作#xff0c;都会被阻塞#xff1a; 对数据的增删改操作#xff0c;比如 insert、delete、update等语句#xff1b;对表结构的更改操作#xff0c;比如 alter table、drop table 等…1、全局锁 加上全局锁后整个数据库就处于只读状态了这时其他线程执行以下操作都会被阻塞 对数据的增删改操作比如 insert、delete、update等语句对表结构的更改操作比如 alter table、drop table 等语句。 全局锁的使用场景 逻辑备份全局锁的典型使用场景是进行全库逻辑备份例如使用 mysqldump 工具。在备份期间整个库处于只读状态确保备份的数据是一致的。主从切换在重新配置主从复制时可以使用全局锁来确保不会有其他线程对数据库进行更新从而保持数据一致性。 可以看出再加上全局锁后数据库的除查询外的其他所有业务都被阻塞住了性能一定很低下。我们可以再可重复读的隔离级别下进行数据备份备份的数据都是再开启事务那一刻的数据就不要开启全局锁来控制并发操作防止破坏数据库一致性了。 2、表锁 2.1表锁 表锁是一种粗粒度的锁它会锁定整个表除了会限制别的线程的读写外也会限制本线程接下来的读写操作。表锁适用于特定的场景但通常不推荐使用因为它会影响并发性能。 2.2意向锁 意向锁是一种表级锁用于指示其他事务是否已经持有了行级锁或表级锁。意向锁不会阻塞其他事务只是作为一种标记。什么时候加意向锁 在获取行级锁之前在获取表级锁之前都需要先加上意向锁。 意向锁的存在表示其他事务可能已经在该表上加了表锁/行级锁因此事务在获取表级锁/行锁之前需要先检查意向锁。意向锁的目的是为了快速判断表里是否有记录被加锁。 2.3 元数据锁MDL 这个锁其实是为了防止再操作数据库表中数据时表的结构发生了改变。 对一张表进行 CRUD 操作时加的是 MDL 读锁对一张表做结构变更操作的时候加的是 MDL 写锁读锁和读锁不互斥读写锁互斥。再MDL锁等待队列中写锁优先级高于读锁。 MDL 是在事务提交后才会释放这意味着事务执行期间MDL 是一直持有的。 2.4 AUTO-INC 锁 AUTO-INC 锁是特殊的表锁机制锁不是再一个事务提交后才释放而是再执行完插入语句后就会立即释放。 在插入数据时会加一个表级别的 AUTO-INC 锁然后为被 AUTO_INCREMENT 修饰的字段赋值递增的值等插入语句执行完成后才会把 AUTO-INC 锁释放掉。 nnoDB 存储引擎提供了个 innodb_autoinc_lock_mode 的系统变量是用来控制选择用 AUTO-INC 锁还是轻量级的锁。 当 innodb_autoinc_lock_mode 0就采用 AUTO-INC 锁语句执行结束后才释放锁当 innodb_autoinc_lock_mode 2就采用轻量级锁申请自增主键后就释放锁并不需要等语句执行后才释放。当 innodb_autoinc_lock_mode 1 普通 insert 语句自增锁在申请之后就马上释放类似 insert … select 这样的批量插入数据的语句自增锁还是要等语句结束后才被释放 3、行锁 3.1 记录锁Record Lock 这个锁锁的是一条记录有S锁共享锁和X锁排它锁之分。其中SS不互斥SX互斥、XX互斥。普通的select查询语句不会加锁。他是通过MVCC进行快照读。像快照读才会进行加锁具体加的是S锁还是X锁要看执行的语句。 SELECT ... LOCK IN SHARE MODE;                加共享锁 SELECT ... FOR UPDATE;                                加互斥锁 select * from t_test where id 1 for update;   给id为1的记录加上互斥锁待事务结束释放锁 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 插入意向锁 一个事务在插入一条记录的时候需要判断插入位置是否已被其他事务加了间隙锁next-key lock 也包含间隙锁。 如果有的话插入操作就会发生阻塞直到拥有间隙锁的那个事务提交为止释放间隙锁的时刻在此期间会生成一个插入意向锁表明有事务想在某个区间插入新记录但是现在处于等待状态。 当事务 A 还没提交的时候事务 B 向该表插入一条 id 4 的新记录这时会判断到插入的位置已经被事务 A 加了间隙锁于是事物 B 会生成一个插入意向锁然后将锁的状态设置为等待状态。此时事务 B 就会发生阻塞直到事务 A 提交了事务。 插入意向锁名字虽然有意向锁但是它并不是意向锁它是一种特殊的间隙锁属于行级别锁。 如果说间隙锁锁住的是一个区间那么「插入意向锁」锁住的就是一个点。因而从这个角度来说插入意向锁确实是一种特殊的间隙锁。 PSMySQL 加锁时是先生成锁结构然后设置锁的状态如果锁状态是等待状态并不是意味着事务成功获取到了锁只有当锁状态为正常状态时才代表事务成功获取到了锁。
http://www.w-s-a.com/news/658689/

相关文章:

  • 网站开发公司东莞网站推广计划书具体包含哪些基本内容?
  • 素材天下网站惠州网站建设行业
  • 网站做a视频在线观看网站天津建站
  • 自己做的网站怎么链接火车头采集一个网站可以做几级链接
  • 济南网站制作哪家专业做网站怎样投放广告
  • 辽宁网站推广短视频运营培训学费多少
  • 拼多多网站怎么做翻译 插件 wordpress
  • 做网站运营的职业生涯规划wordpress分类显示图片
  • 网站建设与制作总结沈阳百度广告
  • 网站管理系统 手机会员制网站搭建wordpress
  • 做物品租赁网站清新wordpress主题
  • 优秀专题网站家居企业网站建设市场
  • 中山市有什么网站推广wordpress轻应用主机
  • 洗头竖鞋带名片改良授权做网站不贵整个世界
  • 设计电子商务网站建设方案微信如何开发自己的小程序
  • 建设网站公司哪里好相关的热搜问题解决方案做网站要看什么书
  • 网站建设重要性黄岐建网站
  • 做网站电销《电子商务网站建设》精品课
  • 地方商城网站海外网站推广方法
  • 乐山 网站建设安阳给商家做网站推广
  • 网站空间一般多大邢台网站建设有哪些
  • h5网站开发工具有哪些wordpress清空post表
  • 公司开网站干嘛怎么制作一个免费的网站模板
  • 群晖wordpress搭建网站网站建设及管理
  • 中山企业网站建设公司抖音代运营合作模式
  • 南通营销网站开发做网站页面多少钱
  • 桂林生活网官方网站云主机和云电脑的区别
  • 内部网络网站怎么做vue做单页面网站
  • 如何建立网站教程wordpress粘帖图片
  • 广东网站备案要多久网站开发 pdf 文字版