MySQL删除海量数据方法

现在数据库里有600多万条记录要删除。
我用delete from删除。
速度非常慢。
最后又用分批删除。每次10000条。
这样。前100次速度还可以。10秒执行一次。到后面mysql就不行了。5-6分钟执行一次。
我这个表有两个索引。一个主键索引。一个是我添加的。我知道这个有影响。
但是索引不能删除的。还得用。
有谁有好的办法。

第1个回答  2009-11-18
1.我觉得你可以把有用的数据提出来,然后删除整个表
2.写个程序,1次删除1条,晚上别关机,一直挂着
第2个回答  2009-11-19
1.将索引备份
2.删除索引
3.批量删除数据(隔几次 flush tables; 一下)
4.重建索引本回答被提问者采纳
第3个回答  2009-11-28
先要确认一下,你删除语句能不能用到INDEX.
如果用不到,请在WHERE条件中加上可以用上INDEX的条件,进行批量的删除.