Karp 的技术博客

诶 今天一早就办了个蠢事. 写了个行情收集的脚本.存到mysql中计划是保存3天的数据, 结果没有启动删除脚本....
数据量 9kw 找到脚本后执行了一下....也是醉了 10分钟啥动静都没有. 我就关掉脚本了.
通过下面方法查看 delete

mysql>  select * from information_schema.`PROCESSLIST` where info is not null;
IDUSERHOSTDBCOMMANDTIMESTATEINFO
10845565xxxxx:xxxxx-dataQuery0executingselect * from information_schema.PROCESSLIST where info is not null
10844901xxxxx:xxxxx-dataExecute375updatingDELETE FROM market_collection_history WHERE created < 1577068173

观察到进程 kill ID 关掉进程

mysql> kill 10844901
IDUSERHOSTDBCOMMANDTIMESTATEINFO
10845565xxxxx:xxxxx-dataQuery0executingselect * from information_schema.PROCESSLIST where info is not null
10844901xxxxx:xxxxx-dataKilled642query endDELETE FROM collection_history WHERE created < 1577068173
执行完 `Killed` 好久都不结束, 百度了一下 当执行大数据量 `update delete` 写操作了, kill 后回 回滚...... 时间长是应该的 不长是不应该的........

mysql

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2019年12月26日 03:11
9

目录

来自 《Mysql Delete 大量数据 kill 后 进程长时间 killed 回滚》