匿名用户Oracle 用存储过程来删除数据,一次性删除300万数据用时1小时20分钟,效率低吗?
Oracle 用存储过程来删除数据,一次性删除300万数据用时1小时20分钟,效率低吗?
我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户Oracle 用存储过程来删除数据,一次性删除300万数据用时1小时20分钟,效率低吗?
很低了。
存储过程落地也是调用delete语句。而且一次大量delete通常要考虑好rede和undo,避免刷爆,非常危险的操作。。。
建议将需要的数据通过create table a1 as select * from a where xxx=ww;过滤并另存表,然后将原表truncate或者drop。
祝你成功!
评论
有用 1
从经验上看,挺慢的。但具体问题具体分析。基于真实的执行计划、资源开销和等待事件来分析,会更靠谱一些。
评论
有用 0
墨值悬赏