高效率批量插入上億資料

2021-08-31 20:56:07 字數 1097 閱讀 3860

轉至 :

-- create table

create table tmp_test_chas_lee

f01 varchar2(20),

f02 number(10) not null,

f03 varchar2(21),

f04 varchar2(21),

f05 number,

f06 number(20)

--建立乙個臨時表,用於提供序列號

create global temporary table t_sequence_num(

sequencenum number(8) not null

on commit preserve rows;

--開始插入資料

begin

--先生成1萬個序號

delete from t_sequence_num;

for i in 0..9999 loop

insert into t_sequence_num(sequencenum) values(i);

end loop;

for i in 1..10 loop

(f01, f02, f03, f04, f05, f06)

select

8613800000000 + i * 10000 + t_sequence_num.sequencenum as msisdn,

'12106000',

0,'20120312072000',

'500231891000',

null

from t_sequence_num;

--每批次必須要提交一次

commit;

end loop;

end;

效果非常驚人,上億的資料,十分鐘左右就搞定了,也就是說,每秒鐘插入了超過10萬條以上的記錄。

效能測試人員不用耗費大量的時間來等待測試資料生成了。

需要注意的問題:

1. 插入資料時,表上不要建立索引

2. 可以在資料插入完畢後,通過 nologging 和 parallel 來建立索引

5. 生成的資料的每個欄位都是可以根據自己的需要靈活產生的

mybatis大批量資料批量更新高效率解決辦法

mybatis批量更新有兩種方式 1 第一種就是普通的迴圈每條資料進行更新,這種方式最大的問題就是效率問題,逐條更新,每次都會連線資料庫,然後更新,再釋放連線資源 雖然通過連線池可以將頻繁連線資料的效率大大提高,抗不住資料量大 這中損耗在資料量較大的時候便會體現出效率問題。這也是在滿足業務需求的時候...

億級別 資料生成及高效率匯入

引言 做這件事情之前,首先 對於mysql,首先需要改改mysql的預設儲存路徑,以免因為硬碟分割槽或者掛載容量的問題,導致資料插入不成功。兩個解決方案 對於mongodb,只需要改一下啟動時命令列的儲存路徑。mysql 1.建表 僅列舉三個字段,實際當中為20 字段 create table de...

SQLServer大量資料高效率分頁

以下為從大資料量表檢索分頁資料的有效方法 測試時,先從largetable表選出1000條記錄分頁呈現 time segment為資料表字段 declare pagesize int 每頁大小 declare currentpage int 當前頁 set pagesize 2 set curren...