日期:2014-05-17  浏览次数:20805 次

怎样提高删除的效率,请各位高手看看?
一表,数据3000万,现想删除部分数据,有时间字段(字符型12位),上有索引,如200704081200
可以用该字段确定删除范围
delete   from   表   where   in_date> '200704080000 '   and   in_date < '200704090000 '
表示删除一天的数据,数据量一般6万,
现问题速度太慢,好几十分钟


有什么好方法吗


------解决方案--------------------
分几次删除,在where条件中加上rownum <某数量,每删除一次后commit;
------解决方案--------------------
给in_date建个索引
然后where条件中可以用like '2000408% '
还可以定义一个变量,把删除语句加到loop中
达到100条的时候进行一次提交