夢幻之旅

          DEBUG - 天道酬勤

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

          最近做短信群發項目有一個需求,需要客戶大批量(十萬級)導入數據.
          開始是用insert單條數據,10萬條數據要20分鐘
          后來發現可以用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 閱讀(3880) 評論(1)  編輯  收藏 所屬分類: DataBase

          評論

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

          真的不錯啊  回復  更多評論
            

          主站蜘蛛池模板: 太仓市| 遵义市| 屏山县| 德昌县| 琼海市| 浠水县| 葫芦岛市| 房产| 新昌县| 罗平县| 平泉县| 迁西县| 大田县| 郸城县| 高青县| 池州市| 五河县| 武义县| 安溪县| 元氏县| 大港区| 札达县| 寻乌县| 南和县| 渭源县| 湘潭县| 抚顺市| 秦安县| 莱阳市| 贵州省| 甘孜县| 武安市| 郧西县| 皋兰县| 杭锦后旗| 百色市| 府谷县| 和平区| 闽侯县| 龙泉市| 汝阳县|