加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL数据库InnoDB存储引擎中的锁机制--转载

发布时间:2020-12-11 23:56:19 所属栏目:MySql教程 来源:网络整理
导读:原文地址:http://www.uml.org.cn/sjjm/201205302.asp 从这个情况来看,UPDATE,DELETE时加间隙锁完全是为了防止Master和Slave数据不一致。那么不使用binlog时就没有必要对DELETE,UPDATE加间隙锁。 Row Format Binlog时,不加间隙锁是否会引起Master,Slave不

原文地址:http://www.uml.org.cn/sjjm/201205302.asp

  • 从这个情况来看,UPDATE,DELETE时加间隙锁完全是为了防止Master和Slave数据不一致。那么不使用binlog时就没有必要对DELETE,UPDATE加间隙锁。
  • Row Format Binlog时,不加间隙锁是否会引起Master,Slave不一至。
  • 即便设置了innodb_locks_unsafe_for_binlog,SELECT…[]是否可以不加间隙锁。

= min trx id for the trx list,ordatabase recovery is running. We do not write the changes of a page max trx id to the log,and therefore during recovery,this value for a page may be incorrect. */

locks 存放一个表的所有表级锁。

rec_hash存放所有表的行锁。Hash值根据(spaceid,pageno)来计算。

trx_locks存放事务的所有锁,包括表级锁和行级锁。一个事务的所有锁,在事务结束时,一起释放。代码在lock_release_off_kernel().如果有等待的锁可以被授权,则会将等待的锁,转变为被授权的锁,并唤醒相应的事务。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读