美文网首页
生产环境一个join,产生笛卡儿积,回滚日志剧增

生产环境一个join,产生笛卡儿积,回滚日志剧增

作者: frankie_cheung | 来源:发表于2021-08-19 16:47 被阅读0次

场景

晚上同事告诉我 一个普通的SQL跑了很久,是不是锁住了,我登陆上去kill mysql线程
发现无法kill,事务状态为 rolling back状态,然后平时十几兆的undolog 突然变成了十多G

原因

sql在join的时候 on的条件写错了,导致笛卡儿积。

sql如下

insert into c select * from a inner join b on a.id=a.id

本来应该是a.id=b.id,但是他复制错了,直接导致笛卡儿积

a表有140万,b表有700多,笛卡儿积直接140万*700,大约7亿条数据

一个insert 语句 一个事务,7亿数据 肯定会有问题。

解决

等待回滚,应该回滚了一晚上。。。

相关文章

网友评论

      本文标题:生产环境一个join,产生笛卡儿积,回滚日志剧增

      本文链接:https://www.haomeiwen.com/subject/dwkabltx.html