Oracle如何一次插入多条数据
2017-10-18 00:00
309 查看
从一个CSV文件中读取所有的数据,并且插入到一个Oracle数据库中,并且几分钟内完成,大约有60万条。
网上有人说了,你可以循环insert然后插入几千条以后Commit一次,我靠,你自己试试看!!如果没试过就不要误导别人好吧。
还有人说了,Oracle根本不支持一次多条插入,我靠,你咋不说自己学艺不精呢?
现在给大家介绍一个小技巧,话说在Oracle里有一个很奇特的“表”,名叫Dual。我们就要利用这个Dual来做文章,
首先,你知道 select '1' from dual 是啥结果吗? 对了,结果就是返回1。
其次,你知道
union
select '2' from dual
是啥结果吗? 对鸟,结果是
2
那么,最关键的地方来了,
select '1' from dual
union
select '2' from dual
那么这一次就插入了两条数据。当然,如果全字段插入 那个(字段1)还可以省略掉。
最后的实践证明,如果循环60万次Insert,一个小时也执行不完(当然有可能是机器太烂),而拼成1000条Select再插入一次,插入60万条的时间是20分钟,而拼成5000条Select再Insert一次,插入60万条数据的时间是12分钟。
好吧,祝你好运
网上有人说了,你可以循环insert然后插入几千条以后Commit一次,我靠,你自己试试看!!如果没试过就不要误导别人好吧。
还有人说了,Oracle根本不支持一次多条插入,我靠,你咋不说自己学艺不精呢?
现在给大家介绍一个小技巧,话说在Oracle里有一个很奇特的“表”,名叫Dual。我们就要利用这个Dual来做文章,
首先,你知道 select '1' from dual 是啥结果吗? 对了,结果就是返回1。
其次,你知道
select '1' from dual
union
select '2' from dual
是啥结果吗? 对鸟,结果是
1
2
那么,最关键的地方来了,
insert into 表名 (字段1)
select '1' from dual
union
select '2' from dual
那么这一次就插入了两条数据。当然,如果全字段插入 那个(字段1)还可以省略掉。
最后的实践证明,如果循环60万次Insert,一个小时也执行不完(当然有可能是机器太烂),而拼成1000条Select再插入一次,插入60万条的时间是20分钟,而拼成5000条Select再Insert一次,插入60万条数据的时间是12分钟。
好吧,祝你好运
相关文章推荐
- 【SQL】如何一次(一条SQL语句)向ORACLE中插入多组/多条数据,不同于mysql
- Oracle如何一次插入多条数据
- oracle一次插入多条数据
- ibatis 一次插入多条数据到Oracle
- 使用Hibernate如何在Oracle中插入Date类型的数据
- 在Oracle使用sql语句中如何插入日期格式的数据
- oracle 如何用触发器实现更新刚插入的数据
- SQL语句oracle中如何插入Date类型的数据
- Oracle:如何解决在执行insert语句后,插入的数据乱码
- oracle一次插入多条数据
- 如何在Oracle中批量插入数据
- Oracle如何快速、大量的插入数据
- Oracle clob类型如何插入4000字符数据
- 在Oracle使用sql语句中如何插入日期格式的数据
- oracle 学习笔记 - 一次插入多条数据
- Oracle中 如何对一张表的数据同时修改跟插入
- oracle一次插入多条数据
- oracle中,如何插入包含单个撇号的数据
- SQL语句oracle中如何插入Date类型的数据
- oracle 如何用触发器实现更新刚插入的数据集合