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

四平网站建设联系方式商城移动端网站开发

四平网站建设联系方式,商城移动端网站开发,fifa17做任务网站,反向代理wordpress 80801、全局锁 加上全局锁后整个数据库就处于只读状态了#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.pierceye.com/news/856004/

相关文章:

  • wordpress防抓取wordpress seo h1标签
  • 产品宣传网站模板完整个人网站html
  • 多用户商城网站开发seo搜索是什么
  • 永川网站制作网页设计中好的网站
  • 淮南本地网从化网站建设优化
  • 必要是什么网站山东网站seo
  • 汕头网站快速优化排名wordpress安装流程图
  • 郑州视频网站建设大概多少钱赶集网2022年最新招聘
  • 购物网站怎么做优化wordpress 暖岛 主题
  • 帝国cms如何做电影网站广告设计要学哪些软件
  • 企业做网站的意义网站建设的知识
  • 重庆荣昌网站建设价格内网网站建设流程
  • 专业网站建设哪家好网站开发英语英语
  • 亿恩 网站备案做养生网站需要什么资质
  • 镇江网站建设案例洛阳网站建站
  • 网站建设如何把代码沈阳网站制作
  • 微网站自己怎么做的模版网站和语言网站
  • 做平台是做网站和微信小程序的好别京津冀协同发展国家战略
  • 北京怎样做企业网站电脑网页开发
  • 企业网站建设运营方案Wordpress hover插件
  • 做暧暖ox免费网站微信开店小程序怎么弄
  • 网站建站网站网站维护动画设计属于什么大类
  • 深圳宝安上市公司网站建设报价制作网站去哪家好
  • 沈阳做网站客户多吗网站地图抓取
  • 做网站比较专业的公司微信商城在哪里找
  • 网站建设开发的流程网站标题title怎么写
  • 网络营销的优势海宁网站怎么做seo
  • wordpress 英文主题南宁网站排名优化公司
  • 行业网站建设方案有专门做电商网站的CMS吗
  • 网站备案 快递公司变更流程