有这么一个需求: 现在有一个订单表里面有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')
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?
- ¥100 求三轴之间相互配合画圆以及直线的算法
- ¥100 c语言,请帮蒟蒻写一个题的范例作参考
- ¥15 名为“Product”的列已属于此 DataTable
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题