有这么一个需求: 现在有一个订单表里面有306万多条数据,需要删除2011-07-01日所有的数据,大约2000条左右。应该如何操作。
有如下需要注意的地方:
1. 这个表没有进行分区
2. 为oracle数据库
3. 直接用delete语句 delete from c_orderline where ad_org_id=100004 and created = to_date('2011-07-01','yyyy-mm-dd') 运行了3个小时都没有出来结果
4. 将created列加上索引也什么效果。
如果你知道怎么解决,麻烦赐教,不胜感激。
将created列加上索引,ad_org_id如果是,字符串类型这个条件也要改成这样
ad_org_id=‘100004’
这样的话应该会快一点
delete from c_orderline where ad_org_id=100004 and created >= to_date('2011-07-01','yyyy-mm-dd') and created < to_date('2011-07-02','yyyy-mm-dd')