在 ETL + DML 資料大量維護 & 拋轉中,
一筆一筆資料拋轉, 雖然確保資料是否已拋轉成功或失敗, 但是效率卻是最差,
可以採用 "批次+ROWID" 方式, 確保每一筆資料拋轉狀況, 且效率又好,
優點 1: 增加效率, 說明如上.
優點 2: 當拋轉速度夠快, 其實可以不用中介 DB 來當緩衝, 如此便可減少中介 DB 管理.
優點 3: 不是讓來源端直接對 DB 作 DML 存取, 而是透過 Package 方式, 一些機密管控、複雜處理, 均可在 Package 中處理, 這樣便可提高資料一致性.
測試結果 :
從越南拋資料到台灣 (一筆一筆拋轉) :
100 筆資料, 共費時 8.613 秒
1000 筆資料, 共費時 86.420 秒 = 1.5 分鐘
10000 筆資料, 共費時 872.635 秒 = 14.5 分鐘
從越南拋資料到台灣 (批次+ROWID 拋轉) :
100 筆資料, 共費時 0.439 秒, 快了 20 倍.
1000 筆資料, 共費時 1.183 秒, 快了 73 倍.
10000 筆資料, 共費時 5.831 秒, 快了 150 倍.
以上, 參考看看囉 ^^.