在利用DB2提供的Import命令进行数据导入时,所有的约束都要被验证,所有装载的行都会记入日志,
且触发器也会被激活,因此在装载大量数据时,Import实用程序的性能会明显低于DB2的Load实用程序,
为提高Import的性能,可使用下面两种方法:
1)使用Compound选项
说明:
发出导入数据的Import命令时使用Compound选项,如在modified by 语句之后使用compound=n,
以便将插入语句中的n行记录作为一组一起导入。对比逐行记录插入的方式,这种方式减少了
网络的通信量。compound的范围为1-100。
示例:
db2 connect to dbname
db2 import from myfile of del modified by compound=100 insert into tabname
2)使用BIND db2uimpm.bnd文件时加入缓冲区插入选项
说明:
使用insert buf 选项绑定Import实用程序以启用缓冲区插入,即对db2uimpm程序包使用insert buf
选项重新绑定到数据库。
示例:
db2 connect to dbname
db2 bind db2uimpm.bnd insert buf 或(db2 bind db2uimpm.bnd blocking all insert buf)
db2 import from myfile of del insert into tabname
测试结果:
E:\>db2 bind db2uimpm.bnd insert buf
行 消息 db2uimpm.bnd
------ --------------------------------------------------------------------
SQL0061W 绑定程序正在进行中。
SQL0031C 打不开文件 "E:\db2uimpm.bnd"。
SQL0082C 发生错误,它终止了处理。
SQL0092N 因为先前的错误,未创建任何程序包。
SQL0091N 绑定结束,具有 "3" 个错误和 "0" 个警告。
原因:执行这个命令需要将目录切换到IBM\SQLLIB\bnd目录下,从而可找到db2uimpm.bnd
备注:以上两种方法都可以使Import得性能有较大的提高,且对多数情况下导入数据量都很大的分区式数据库,
这些方法对于Import性能的提高尤为重要。还存在一种方法来提高Import的性能,修改表的Append on属性,
具体修改方法:
alter table tabname append on即可。
DB2数据库如何提高Import性能?
最新推荐文章于 2022-04-26 10:58:51 发布