首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

怎样提高删除的效率,请看看

2012-01-05 
怎样提高删除的效率,请各位高手看看?一表,数据3000万,现想删除部分数据,有时间字段(字符型12位),上有索引,

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


有什么好方法吗


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

热点排行