如何插入大量数据到Oracle数据库中
答案:2 悬赏:50 手机版
解决时间 2021-03-19 19:02
- 提问者网友:書生途
- 2021-03-19 14:27
如何插入大量数据到Oracle数据库中
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-03-19 14:46
可以使用oracle sql loader批量导入数据:
生成测试数据的EXCEL文件,把EXCEL文件另存为CSV(逗号分隔)(*.csv),控制文件设置为用逗号分隔。
示例:
LOAD DATA
INFILE ‘d:\car.csv’
APPEND INTO TABLE t_car_temp
FIELDS TERMINATED BY ","
(phoneno,vip_car)
保存为input.ctl
最后在命令行下输入:
C:\>sqlldr userid=system/manager
control=input.ctl(在unix环境下亦同)
默认日志文件名为:input.log
默认坏记录文件为:input.bad
生成测试数据的EXCEL文件,把EXCEL文件另存为CSV(逗号分隔)(*.csv),控制文件设置为用逗号分隔。
示例:
LOAD DATA
INFILE ‘d:\car.csv’
APPEND INTO TABLE t_car_temp
FIELDS TERMINATED BY ","
(phoneno,vip_car)
保存为input.ctl
最后在命令行下输入:
C:\>sqlldr userid=system/manager
control=input.ctl(在unix环境下亦同)
默认日志文件名为:input.log
默认坏记录文件为:input.bad
全部回答
- 1楼网友:渊鱼
- 2021-03-19 15:25
使用dblink传递数据最快的方式是:
create 本地表 as select * from 远程表@数据链接;
到了本地以后,再进行insert
这样的速度基本只受限于网速。
而
insert into 本地表 value();的方式会多次在远程进行全表扫描。
因为您没有写代码出来,所以只有猜测您可能是这样的。
您遇到的情况一般来说大家都是做一个接口来处理的。
接口表更新远程数据到本地,本地表再获取接口数据。
所谓的接口,其实就是利用数据链接,create一个您所需要的远程的数据表的子集镜像。
用pl/sql写一个过程,然后设定一个schedule定时执行就可以了。
还有一种方式,是在本地,做一个远程表的物化视图。
400万行数据的表,一般局域网内create到本地300秒左右。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯