扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
来源:中国IT实验室 2013年3月1日
关键字: ORACLE
ZDNet至顶网软件频道 传统的imp命令在导入时,如果只是仅处理数据,千万条数据对Oracle的处理来说根本就是
”毛毛雨“啦,关键是在它导入了数据后,而要对每个表重新做一次索引。
一边导一边索引,一边一条条commit,就好比你用一个循环来insert 1万条数据和你改用statemenet.addBatch(query);的效率的对比一样,一定是后者更快更高效。
因此,在碰到这种情况下我们建议对imp导入命令做下面的折分:
-分段式提交
-设置缓冲
-先导数据再导索引
www.2cto.com
这样,我们原来的imp命令就变成下面这样的样子了:
Sql代码
imp user2/pwd fromuser=user1 touser=user2 file=file commit=y feedback=10000 buffer=10240000 ignore=y rows=y indexes=n
imp user2/pwd fromuser=user1 touser=user2 file=file commit=y feedback=10000 buffer=10240000 ignore=y rows=n indexes=y
看到没有,先导数据rows=y indexes=n,再导索引rows=n indexes=y
这两条命令是先后发起的,在只导数据时对于上述的14gb左右的一个。dmp包在同样软硬件环境中只用了15-20分钟,后一条建索引语句只用了25-27分钟。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者