一简介: insert出现慢日志中,应该怎么检测呢

二 理解:事务提交延迟,一般出现在写日志延迟的情况下,会有几种可能
    场景:
    1 RR模式下,insert等待gap lock锁导致的
    2 insert等待MDL锁导致
    3 表存在外键约束,耗时在外键检测上
    4 表没有主键

5 表中含有blob/text和大varchar这种大字段
    6 半同步复制的延迟导致插入延迟等待
    7 DB服务器IO压力较大,导致排队,iowait很高 
          1 并发insert的线程较多
          2 并发select的线程较多
    8 磁盘空间不足导致插入延迟等待
三 案例:
   1 描述:线上慢日志定期会出现insert慢日志,大概1s左右,非常奇怪
   2 排查思路:
       1 慢日志除了insert语句,并没有大表扫描的慢查询->排查慢查询的干扰
       2 观察binlog生成量,非常少,尝试调整sync_binlog参数,并没效果->排查binlog刷新的干扰
       3 尝试调整innodb_flush_commit参数,并没有效果->排查redo刷新的干扰

4 查看innodb_buffer_pool的命中率,查看脏页刷新频率效果
       5 观察慢日志insert发生时间,大多发生在整点和半点,查看对应的qps图,发现对应的select并发非常高,找到了原因
   3 解决方案: 进行读写分离拆分,进一步进行观察

mysql 案例 ~ insert插入慢的场景的更多相关文章

  1. MySQL使用INSERT插入多条记录

    MySQL使用INSERT插入多条记录,应该如何操作呢?下面就为您详细介绍MySQL使用INSERT插入多条记录的实现方法,供您参考. 看到这个标题也许大家会问,这有什么好说的,调用多次INSERT语 ...

  2. mysql:insert插入数据过慢如何解决,设置innodb_flush_log_at_trx_commit为0就能解决

    问题: 最近在做性能测试,造数据,发现insert好慢,只有几十条每秒,很奇怪,最后再网上找到了原因. 网文如下: MY SQL insert 速度过慢 最近在用MySQL做存储,测试中发现插入数据太 ...

  3. mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法

    [CSDN下载] Powerdesigner 设计主键code不能重复等问题 [CSDN博客] Oracle中用一个序列给两个表创建主键自增功能的后果 [CSDN博客] MySQL自增主键删除后重复问 ...

  4. mysql数据库中插入数据INSERT INTO SET的优势

    往mysql数据库中插入数据.以前常用 INSERT INTO 表名 (列名1,列名2…) VALUES(列值1,列值2); 如果在PHP程序中,就会写成如下示例(往商品库里增加商品) $sql = ...

  5. 高效的MySQL的批插入 BULK INSERT

    原文:http://www.open-open.com/code/view/1453702496573 MySQL的批插入 BULK INSERT和load data的速度差不多,并且可靠. 语法如下 ...

  6. MySQL INSERT插入条件判断:如果不存在则插入

    摘要: 我们经常需要进行sql的批量插入,要求:该条记录不存在则插入,存在则不插入.如果使用一条INSERT语句实现呢? 普通的 INSERT INTO 插入: INSERT INTO card(ca ...

  7. MySQL优化--INSERT ON DUPLICATE UPDATE死锁

    INSERT ON DUPLICATE UPDATE与死锁 在MySQL中提供两种插入更新的方式:REPLACE INTO和INSERT ON DUPLICATE UPDATE,简化了“存在则更新,不 ...

  8. 语法:MySQL中INSERT INTO SELECT的使用(转)

    1. 语法介绍      有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现: INSERT INTO db1_name (fi ...

  9. Mysql中INSERT ... ON DUPLICATE KEY UPDATE的实践

    转: Mysql中INSERT ... ON DUPLICATE KEY UPDATE的实践 阿里加多 0.1 2018.03.23 17:19* 字数 492 阅读 2613评论 2喜欢 1 一.前 ...

随机推荐

  1. Unicode 与 Unicode Transformation Format(UTF-8 / UTF-16 / UTF-32)

    ASCII(American Standard Code for Information Interchange):早期它使用7 bits来表示一个字符,总共表示27 = 128个字符:后来扩展到8 ...

  2. 洛谷 P2622 关灯问题II(状压DP入门题)

    传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 题解: 相关变量解释: int n,m; ];//a[i][j] : 第i个开关对第j个 ...

  3. WiFi热点(1):windows8建wifi虚拟热点

    在windows8系统中,打开记事本,写入下面两行:@netsh wlan set hostednetwork mode=allow ssid=wuyazhe key=88888888@netsh w ...

  4. django_admin用法

    Django内置的admin Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.con ...

  5. 2017-12-15python全栈9期第二天第七节之布尔值转数字

    #!/user/bin/python# -*- coding:utf-8 -*-print(int(True))print(int(False))

  6. Properties读取properties配置文件

    package cn.rocker.readProperties; import java.io.IOException; import java.io.InputStream; import jav ...

  7. ElasticSearch的插件(Plugins)介绍

    ElasticSearch的插件(Plugins)介绍 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 目前可以扩展ElasticSearch功能的插件有很多,比如:添加自定义的映 ...

  8. centos的用户、组权限、添加删除用户等操作的详细操作命令

    1.Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种 细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还 有组账户所谓组账户就是用户账户的集合,centos组中有两种类型, ...

  9. Sublime Text 3 浅色主题

    1.参考 如何优雅使用Sublime Text3(Sublime设置豆沙绿背景色和自定义主题) Fluidvision Inspiredgithub LightRays Mac 20Classic P ...

  10. mysql 用户及权限管理 小结

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...