有这么一个需求: 现在有一个订单表里面有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列加上索引也什么效果。
如果你知道怎么解决,麻烦赐教,不胜感激。
Oracle 如何从几百万条数据中删除2000多条数据
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
xiewanxw 2011-07-28 16:19关注将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')
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报