数据库delete数据慢的一种解决方法

今天在做数据清理的时候发现一张表的数据删除非常的慢,平均要10条要1s多

表A的数据是需要删除的,有主键和几个外键,表B有个外键指向A的主键;

A有50w数据,B有150w数据;

delete from A where Create_DATE=timestamp('2010-06-28 00:00:00');

删除一天的数据大概800条左右,执行时间90s多

 

开始在A表上CREATE INDEX 以及 reorg table ==均无效,突然想到应该和B表有个,每删除A的一条数据需要在B里面

查找是否存在引用,然后把B中的A_ID INDEX 即解决问题,删除一天的数据不到0.2s

 

你可能感兴趣的:(delete)