要在一个1亿行的大表中,删除1千万行数据
在对数据库其他应用影响最小的情况下,以最快的速度完成
那么操作期间应该注意什么?如果中途中断了,有木有方法再继续?
如果应用不可停,又该怎么办呢?
删除了10分之一的数据,索引可能还需重建,统计信息可能也得更新
由于昂贵的delete操作,Undo空间亚历山大、Redo log 也要担心被撑爆
而且批量delete虽然影响最小,但是可能会造成大量的空数据块
如此种种,剪不断、理还乱、是删除,别是一番滋味在心头啊
很显然,删除或更新的方法和数据库的设计及软硬件的配置有重大关系
不同的数据库设计,采用的方案必然不同,其所谓的因库制宜
在操作之前,最简单也是最重要的事情,那就是作个有效的备份
一亿行删除或修改一千万行的思路总结
最新推荐文章于 2023-05-08 10:01:10 发布
本文总结了一亿行数据中删除一千万行的策略,强调操作前做好备份的重要性。提出了分区表方案,包括直接使用`TRUNCATE PARTITION`(分区表)、逐分区处理、在线重定义以及通过循环`INSERT`到新表来替代`DELETE`的方法。讨论了不同场景下,如何在不影响数据库正常使用的情况下高效、安全地进行大数据量操作。

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



