达梦8中利用dmp与imp进行lob数据的迁移会比较慢,以下测试100万lob数据的导出与导入
构造测试数据
begin
for i in 1..1000000 loop
INSERT INTO lob_test VALUES(1,0XAB121032DE,'abcdefg');
if mod(i,10000)=0 then
commit;
end if;
end loop;
end;
利用dmp导出大概需要3秒
利用imp导入大概需要6分钟
[1/1]创建表已完成,导入表 lob_test 的数据中...
导入表 lob_test 的数据:1000000 行被处理
[1/1]整个导入过程共花费 372.189 s
成功终止导入, 没有出现警告
dimp V8
使用dmfldr工具进行导出
首先编写控制文件
LOAD DATA
INFILE '/home/dmdba/lob_test.txt'
INTO TABLE test
FIELDS '|'
(
C1,
C2,
C3
)
[dmdba@dm bin]$ ./dmfldr userid=SYSDBA/SYSDBA@localhost:15236 control=\'/home/dmdba/lob_test.ctl\' LOB_DIRECTORY=\'/home/dmdba/\' mode=\'out\'
dmfldr V8
997643 rows is load out
1000000 rows is load out
export success.
1000000 行数据已导出
用时:7061.878(ms)
./dmfldr userid=SYSDBA/SYSDBA@localhost:15236 control=\'/home/dmdba/lob_test.ctl\' LOB_DIRECTORY=\'/home/dmdba/\' mode=\'in\'
目标表:LOB_TEST
load success.
1000000 行加载成功。
0 行由于数据错误没有加载。
0 行由于数据格式错误被丢弃。
跳过的逻辑记录总数:0
读取的逻辑记录总数:1000000
拒绝的逻辑记录总数:0
13114.378(ms)已使用
相比逻辑导出导入使用dmfldr更加快速
文章
阅读量
获赞