专栏名称: Linux就该这么学
专注于Linux运维技术培训,让您学习的每节课都有所收获,订阅本号后可每天获得最新Linux运维行业资讯、最实用的Linux免费教程以及独家Linux考证资料,三十多万技术小伙伴的选择,Linux就该这么学!
目录
相关文章推荐
今天看啥  ›  专栏  ›  Linux就该这么学

WC,血一般的教训!用了个 insert into select 居然被开除了

Linux就该这么学  · 公众号  · linux  · 2025-01-17 08:02
    

文章预览

来源: https://juejin.cn/post/6931890118538199048 血一般的教训,请慎用 insert into select。同事应用之后,导致公司损失了近10w元,最终被公司开除。 事情的起因 公司的交易量比较大,使用的数据库是mysql,每天的增量差不多在百万左右,公司并没有分库分表,所以想维持这个表的性能只能考虑做数据迁移。 同事李某接到了这个任务,于是他想出了这两个方案 先通过程序查询出来,然后插入历史表,再删除原表 使用insert into select让数据库IO来完成所有操作 第一个方案使用的时候发现一次性全部加载,系统直接就OOM了,但是分批次做就过多io和时间长,于是选用了第二种方案,测试的时候没有任何问题,开开心心上线,然后被开除。 到底发生了啥,我们复盘一下 先来看第一个方案,先看伪代码 // 1、查询对应需要迁移的数据 List  list = selectData(); // 2、将数 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览