提高上百萬行資料insert速度的「經典」方法

2021-04-01 06:21:51 字數 1744 閱讀 7789

提高上百萬行資料insert速度的「經典」方法

有兩個結構相同的表table1,table2

將table1插入到table2中:

現在採用兩種方法:

1、指定回滾段,回滾段足夠大

set transaction use rollback segment rbs1;

insert into table1 nologging

select * from table2;

***mit;

2、採用定義cursor,每5000或10000條記錄提交一次

declare

cursor cur_select is

select t1,t2,t3..... from tabl1;

v_id number;

v_t  table1%rowtype;

begin

open cur_select;

loop

exit when cur_select%notfound;

fetch cur_select into v_t.t1,v_t.t2,v_t.t3..... ;

insert into table2

(t1,t2,t3......)

values

(v_t.t1,v_t.t2,v_t.t3..... );

v_id := v_id + 1;

if v_id = 10000 then

***mit;

v_id := 0;

end if;

end loop;

***mit;  

end;

我現在只有這兩種方法,足夠笨的!請教各位高士還有沒有其他的方法?

有兩個結構相同的表table1,table2

將table1插入到table2中:

現在採用兩種方法:

1、指定回滾段,回滾段足夠大

set transaction use rollback segment rbs1;

insert into table1 nologging

select * from table2;

***mit;

2、採用定義cursor,每5000或10000條記錄提交一次

declare

cursor cur_select is

select t1,t2,t3..... from tabl1;

v_id number;

v_t  table1%rowtype;

begin

open cur_select;

loop

exit when cur_select%notfound;

fetch cur_select into v_t.t1,v_t.t2,v_t.t3..... ;

insert into table2

(t1,t2,t3......)

values

(v_t.t1,v_t.t2,v_t.t3..... );

v_id := v_id + 1;

if v_id = 10000 then

***mit;

v_id := 0;

end if;

end loop;

***mit;  

end;

我現在只有這兩種方法,足夠笨的!請教各位高士還有沒有其他的方法?

請教提高上百萬行資料insert速度的「經典」方法

有兩個結構相同的表table1,table2 將table1插入到table2中 現在採用兩種方法 1 指定回滾段,回滾段足夠大 set transaction use rollback segment rbs1 insert into table1 nologging select from ta...

提高上百萬行資料insert速度的「經典」方法

提高上百萬行資料insert速度的 經典 方法 有兩個結構相同的表table1,table2 將table1插入到table2中 現在採用兩種方法 1 指定回滾段,回滾段足夠大 set transaction use rollback segment rbs1 insert into table1 ...

幾十上百萬行,如何快速查詢出表資料

答 用分頁儲存過程 函式名稱 getrecordfrompage 函式功能 獲取指定頁的資料 引數說明 tblname 包含資料的表名 fldname 關鍵欄位名 pagesize 每頁記錄數 pageindex 要獲取的頁碼 ordertype 排序型別,0 升序,1 降序 strwhere 查詢...

POI解析百萬行excel的實現

poi 的usermodel api讀取大資料量excel會導致oom,可以使用eventmodel api來處理這種excel.少量的行數excel可以用 xssfworkbook wb new xssfworkbook inputstream xssfsheet sheet wb.getshee...

百萬行mysql,count 函式的思考與總結

如果你的需要是統計總行數時,為什麼要使用count 而避免使用指定具體的列名?count 函式裡面的引數是列名的的時候,那麼會計算這個欄位有值項的次數。也就是,該欄位沒有值的項並不會進入計算範圍 就是網上常說的值為null的項不納入統計 很多地方都有類似表述 count column counts ...