MySQL · 案例分析 · RDS MySQL线上实例insert慢常见原因分析

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

MySQL · 案例分析 · RDS MySQL线上实例insert慢常见原因分析

db匠 2018-09-22 09:00:15 浏览2775
展开阅读全文

概述

insert慢是经常被问到的问题,笔者尝试在本文中对这个问题做一个分类梳理,列举的线上例子会做简化,希望对读者有所启发。 注意:因为阿里云MySQL线上实例还是以RDS 5.6为主体,本文的分析也是以5.6 innodb 引擎为主,其他版本的rds的实例可能略有差别。

insert几个可能的性能瓶颈点

有关MySQL insert源码分析的文章,可以参看阿里云云栖社区的文章,例如:

  1. 一条简单insert语句的调用栈
  2. 一条insert语句的执行过程

基于insert源码分析,和MySQL事务的一般过程,可以看出insert语句执行过程中几个可能的瓶颈点,包括加锁,io和网络几个方面,

  1. MDL锁, insert语句需要拿IX MDL 锁
  2. 外键检查对主表加S行锁
  3. insert转update操作需要的对老记录index entry的行锁
  4. iops限制

网友评论

登录后评论
0/500
评论