夢幻之旅

          DEBUG - 天道酬勤

             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks

          最近做短信群發(fā)項目有一個需求,需要客戶大批量(十萬級)導入數據.
          開始是用insert單條數據,10萬條數據要20分鐘
          后來發(fā)現可以用insert all 一條sql一次導入500條記錄,這樣10萬條數據只用了1.5分鐘,導入速度提高了近來20倍
          下面就使用insert all的心得體會記錄如下.
          使用方法:
          insert all into table_name(col_1,col_2) values (value_1,value_2)
                     into table_name(col_1,col_2) values (value_1,value_2)
                     into table_name(col_1,col_2) values (value_1,value_2)
                     .........................................................................
                     into table_name(col_1,col_2) values (value_1,value_2)
          select 1 from dual
          需要注意幾點:
          1.此sql語法上要求后面有select,在本例中,select 1 from dual其實是沒有意義的,但必須加上,維護語法上的完整性.
          2.所有列數不能超過1000,超過拋出異常
          3.oracle 9i版本及以上版本支持此語法
            

          posted on 2008-06-28 12:03 HUIKK 閱讀(3881) 評論(1)  編輯  收藏 所屬分類: DataBase

          評論

          # re: Oracle 高速批量速插入數據 解決方案 2008-09-26 16:05 yuxuan
          有這樣的功能嗎

          真的不錯啊  回復  更多評論
            

          主站蜘蛛池模板: 稷山县| 龙泉市| 平昌县| 八宿县| 井陉县| 阳春市| 芜湖市| 合作市| 大宁县| 疏勒县| 广州市| 女性| 长宁区| 达州市| 靖西县| 洪雅县| 双牌县| 潼南县| 保山市| 通海县| 北海市| 平远县| 内黄县| 金阳县| 涡阳县| 鄂尔多斯市| 堆龙德庆县| 华蓥市| 土默特左旗| 剑河县| 海伦市| 元谋县| 扎赉特旗| 永城市| 临夏县| 任丘市| 舟曲县| 新竹县| 七台河市| 惠州市| 田林县|