zoukankan      html  css  js  c++  java
  • oracle一次插入多条数据

    insert into 表名(字段1,字段2) 
    select '一','二' from dual         
    union all                                 
    select '三','四' from dual         
    union all                                 
    select '五','六' from dual         
    union all                                 
    select '七','八' from dual         
    union all                                 
    select '九','十' from dual     
     
    从一个CSV文件中读取所有的数据,并且插入到一个Oracle数据库中,并且几分钟内完成,大约有60万条。 
    网上有人说了,你可以循环insert然后插入几千条以后Commit一次,我靠,你自己试试看!! 如果没试过就不要误导别人好吧。 
    还有人说了,Oracle根本不支持一次多条插入,我靠,你咋不说自己学艺不精呢? 
       
    现在给大家介绍一个小技巧,话说在Oracle里有一个很奇特的“表”,名叫Dual。我们就要利用这个Dual来做文章, 
    首先,你知道 select '1' from dual 是啥结果吗? 对了,结果就是返回1。 
    其次,你知道 
    select '1' from dual 
    union 
    select '2' from dual 
    是啥结果吗? 对鸟,结果是 
    那么,最关键的地方来了, 
    insert into 表名 (字段1) 
         select '1' from dual 
         union 
         select '2' from dual 
    那么这一次就插入了两条数据。当然,如果全字段插入 那个(字段1)还可以省略掉。 
    最后的实践证明,如果循环60万次Insert,一个小时也执行不完(当然有可能是机器太烂),而拼成1000条Select再插入一次,插入60万条的时间是20分钟,而拼成5000条Select再Insert一次,插入60万条数据的时间是12分钟。 
  • 相关阅读:
    HTML5 拖放(Drag 和 Drop)详解与实例
    JS中的六大数据类型
    关于创建本地docker仓库
    关于使用国内dock仓库,网易、DaoCloud
    关于Docker开通远程访问端口2375
    多个消费者监听同一个队列
    SQLite -附加数据库
    解密JDK8 枚举
    LoraLU
    深入理解display属性
  • 原文地址:https://www.cnblogs.com/xieon1986/p/2789226.html
Copyright © 2011-2022 走看看