ORACLE 插入大量数据过慢

ORACLE一次性插入200W条数据过慢,请问有什么问题吗?表只有PK。和几个关键字段的INDEX索引,请问要怎么执行才能效率最优,现在起码要80分钟,电脑配置是I5,8... ORACLE 一次性插入200W条数据过慢,请问有什么问题吗?表只有PK。和几个关键字段的INDEX索引,请问要怎么执行才能效率最优,现在起码要80分钟,电脑配置是I5,8G,5400转的 展开
 我来答
badkano
2013-10-01 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885365
团长

向TA提问 私信TA
展开全部
你是用insert语句,还是用oracle的导入功能?

反正插入数据快的话,你先把索引的语句备份一下,然后全部drop掉

然后再执行插入操作,插入结束后再建立索引

反正这事也快不了,你先看看我说的那种得多长时间吧
追问
嗯,我先试着将索引全部drop,就是insert语句。
追答
索引删掉,估计能提高30-40%的速度
最好分批次commit;--几千条一次commit吧
否则可能会导致回滚段不足报错之类的
JsAvatar
2013-10-02
知道答主
回答量:18
采纳率:0%
帮助的人:18.2万
展开全部
1、查下数据库是否运行在归档模式下:加上nologging

2、把索引删掉,插入数据之后再重建

3、首先执行:ALTER SESSION ENABLE PARALLEL DML;
然后加上hints:/*+ append parallel*/

楼主可以把SQL贴出来看下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chn7576
2010-08-20 · TA获得超过1520个赞
知道小有建树答主
回答量:934
采纳率:0%
帮助的人:796万
展开全部
表空间自动扩展会让INSERT很慢。

另外就是 有索引的时候,频繁的更新后,索引有可能失效,最好重建索引。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoxi56as
2013-10-01
知道答主
回答量:9
采纳率:0%
帮助的人:8.4万
展开全部
你不会是用眼看着屏幕插200万条吧,80%时间都用在in、out上了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小狂中E
2013-10-02 · TA获得超过1418个赞
知道大有可为答主
回答量:1514
采纳率:66%
帮助的人:1026万
展开全部
如果是自己编程的话,那就提供2条建议:
1、使用预解析语句,就是以?为参数的sql,减少数据库分析sql的时间
2、尽量使用批处理,以减少网络往返时间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式