【发布时间】:2015-09-16 13:25:54
【问题描述】:
我需要插入作为接口文件(文本文件)提供的大量记录。 现在正在使用这种格式插入记录。
INSERT ALL
INTO POSTAL_CODE( postal_code,desc)
VALUES('100','Coimbatore')
INTO POSTAL_CODE (postal_code,desc)
VALUES('101','Mumbai') SELECT * FROM DUAL;
但这会导致性能不佳。我是数据库新手。所以请帮助我更快地插入记录。但是在 db2 中是支持这种格式的。
INSERT INTO POSTAL_CODE( postal_code,desc)
VALUES('100','Coimbatore'), (postal_code,desc),('101','Mumbai');
但是为什么 oracle 不支持这种类型的插入。请帮我。我坚持这一点。我需要为此使用另一种解决方案,而且应该更快....
【问题讨论】:
-
一次插入多少行?如果超过几百个,您可能会遇到与this question 相同的问题。解决方案是将语句分解为每次运行数百行,并将
INSERT ALL转换为UNION ALL,就像在 Rahul 的回答中一样。 -
一次最多插入 300 万条记录,乔恩
标签: oracle db2 bulkinsert