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

MySQL slave 延缓一列 外键检测和自增加锁

发布时间:2022-03-22 15:51:32 所属栏目:编程 来源:互联网
导读:本文没有太多可读性,完全是自己的笔记 一、现象 延迟大,大事物。 表结构 MySQL:slave 延迟一列 外键检查和自增加锁 image.png 无IO MySQL:slave 延迟一列 外键检查和自增加锁 image.png SQL THREAD占用CPU 100% 二、pscak 采样 采样30个点 外键检查 占70
      本文没有太多可读性,完全是自己的笔记
一、现象
     延迟大,大事物。
 
     表结构 MySQL:slave 延迟一列 外键检查和自增加锁 image.png
     无IO MySQL:slave 延迟一列 外键检查和自增加锁 image.png
     SQL THREAD占用CPU 100%
   
二、pscak 采样
采样30个点
 
外键检查 占70% MySQL:slave 延迟一列 外键检查和自增加锁 image.png
自增锁获取 占30% MySQL:slave 延迟一列 外键检查和自增加锁 image.png
三、自增锁获取逻辑
逻辑如下其实也是innodb_autoinc_lock_mode参数的作用
 
binlog row格式,innodb_autoinc_lock_mode=1 按理说不会触发row_lock_table_autoinc_for_mysql加自增锁。不知道什么原因。当前知道:
 
如果主库语句模式,从库innodb_autoinc_lock_mode=1 ,insert select 肯定会触发。
如果从库 innodb_autoinc_lock_mode=0 肯定会触发。
但是都不满足。疑惑。
 
四、方案
删除外键
innodb_autoinc_lock_mode设置为2,从逻辑来看肯定不会做row_lock_table_autoinc_for_mysql了。

(编辑:核心网)

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

    热点阅读