要在一个1亿行的大表中,删除1千万行数据
在对数据库其他应用影响最小的情况下,以最快的速度完成
那么操作期间应该注意什么?如果中途中断了,有木有方法再继续?
如果应用不可停,又该怎么办呢?
删除了10分之一的数据,索引可能还需重建,统计信息可能也得更新
由于昂贵的delete操作,Undo空间亚历山大、Redo log 也要担心被撑爆
而且批量delete虽然影响最小,但是可能会造成大量的空数据块
如此种种,剪不断、理还乱、是删除,别是一番滋味在心头啊
很显然,删除或更新的方法和数据库的设计及软硬件的配置有重大关系
不同的数据库设计,采用的方案必然不同,其所谓的因库制宜
在操作之前,最简单也是最重要的事情,那就是作个有效的备份
无论什么情况下,只要对数据库做变更,都不别忘了有效的备份
如果条件允许,操作前最好做个有效的全备
如果不允许,你最起码要备份你要操作的对象和数据
如果不备份,那便是在钢丝上耍,而且下面就是万丈深渊
思路一: