long transaction
背景
大家有没有遇到这样的情况
- 某个SQL执行特别慢,导致整个transaction一直处于running阶段
- 某个Session的SQL已经执行完了,但是迟迟没有commit,一直处于sleep阶段
- 某个Session处于lock wait阶段,迟迟没有结束
以上,大部分原因都是大事务导致的,接下来我们好好聊聊相关话题
关键字
- 环境
1. MySQL5.7.22
低版本MySQL这边不再考虑,就像还有使用SAS盘的公司一样,费时费力,MySQL5.7+ 标配
2. InnoDB存储引擎
3. CentOS 6
- 大事务的相关特征
1. transaction开启到结束的时间非常长,我们这边举例为10s
2. 正在执行的事务
3. 未提交的事务
实战
>>>阅读全文