還是由于遷移數據庫,測試了insert,copy,insert append的執(zhí)行速度。
環(huán)境:oracle9i向oracle11g遷移,linux系統(tǒng)。
表已建立,只允許插入數據,而不能使用create .. select 或 copy .. create。
?
1. 建立dblink,供insert,insert append使用。
2. 登錄11g數據庫。并set timing on
3. 建立視圖查看redo size
create redo_size as
select value?
from v$mystat, v$statname?
where v$mystat.statistic# = v$statname.statistic#?
and v$statname.name = 'redo size';
4. insert into dblink_test_tab select * from?tran_rec_03@dblink_test;
?
insert /*+ APPEND */ into dblink_test_tab select * from?tran_rec_03@dblink_test;
copy from?ispay/ispay@crmtest?insert dblink_test_tab using select * from tran_rec_03;
在執(zhí)行以上所有語句前與后執(zhí)行select * from redo_size;
5. 得到的結果如下:
redo_size 用時
insert 177821968 4'25"
insert append 3590412 3'15"
copy 124438620 4'20"
數據量:495665
結論:
insert 需要的時間最多,redo量最大。
insert append 需要的時間最短,redo量最小。
copy則不需要dblink。
本文摘自 :https://blog.51cto.com/u