一次折騰幾千萬的話,
那麼設置一下,
有
20W了,
就自動提交一下。
set
autocommit
on;
set
autocommit
200000;
然後,假如你的目標資料庫,
是歸檔的話,
可以
INSERT
/*+
append
*/
INTO
目標表
nologging
SELECT
*
FROM
源表@DBLINK;
commit;
set
autocommit
off;
假如你的
目標表
上面,
有
索引的話,
建議先刪除
索引。
等
上面的
INSERT
語句執行完畢後,
再重建索引。
B. 如何快速進行大數據導入,更新舊數據及插入數據操作
如何快速進行大數據導入、更新舊數據及插入數據操作
對於大數據量的導入,同時又要對回舊數據進行答更新,對資料庫的壓力相當大,而且相當耗損時間,之前測試在一張一百萬數據表中導入10萬的數據,每條記錄都進行查詢判斷,進行了半個小時還沒處理完,等待的時間客戶是無法接受的,何況在面對上千萬的數據中,最後得出一個解決方法。
方法:建一個新表B,跟原表A的結構相同,把每次導入的新數據全部導入B表中,然後用左外連接 把重復數據刪除:delete from A where A.id in(select id from B left join A on B.id = A.id),然後執行insert into A select * form B,最後再刪除B表的數據,測試發現這個不到一分鍾就可以在100萬的數據中完成10W數據的導入。
C. 怎麼樣快速向SQL資料庫插入大數據量的數據
添加數據需要知道往哪張表添加,以及自己要添加的內容,然後可用insert語句執行。
1、以版sqlserver2008r2為例,登錄SQL Server Management Studio到指權定的資料庫。
2、登錄後點擊「新建查詢」。
D. 如何向Oracle資料庫表中進行大數據量的插入並提交
一次折騰幾千萬的話, 那麼設置一下, 有 20W了, 就自動提交一下。
set autocommit on;
set autocommit 200000;
然後,假如你回的目標資料庫, 是歸檔的答話, 可以
INSERT /*+ append */ INTO 目標表 nologging SELECT * FROM 源表@DBLINK;
commit;
set autocommit off;
假如你的 目標表 上面, 有 索引的話, 建議先刪除 索引。
等 上面的 INSERT 語句執行完畢後, 再重建索引。
E. Oracle 插入大量數據效率問題
插入大數據量的時候,可考慮用
insert /*append*/ into 表名 nologging select * from table