Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

DB2 如何提高IMPORT命令性能

Posted on 2009-09-28 00:43 Prayer 阅读(345) 评论(0)  编辑 收藏 引用 所属分类: DB2
在利用 DB2 提供的 IMPORT 命令进行数据导入时,所有的约束都要被验证,所有装载的行都会记入日志,且触发器也会被激活,因此在装载大量数据时,IMPORT 实用程序的性能会明显低于 DB2  LOAD 实用程序,为提高 IMPORT 的性能,这里为用户提供两种方法。
针对 DB2  IMPORT 实用程序,使用 COMPOUND 选项或在 BIND db2uimpm.bnd 文件时加入缓冲区插入选项都可以使 IMPORT 的性能有较大的提高,且对多数情况下导入数据量都很大的分区式数据库,这些方法对于 IMPORT 性能的提高尤为重要。
下面就介绍一下这两种方法的具体实现步骤:
1. 使用 INSERT BUF 选项绑定 IMPORT 实用程序以启用缓冲区插入,即对 db2uimpm 程序包使用 INSERT BUF 选项重新绑定到数据库。
例如
db2 connect to sample
db2 bind db2uimpm.bnd insert buf
db2 import from myfile of del insert into mytable

2. 发出导入数据的 IMPORT 命令时使用 COMPOUND 选项,如在 MODIFIED BY 语句后使用 COMPOUND=n,以便将插入语句中的 n 行记录作为一组一起导入。对比逐行记录插入的方式,这种方式减少了网络的通信量。COMPOUND 的范围为 1 - 100
例如
db2 connect to sample
db2 import from myfile of del modified ;
by compound=100 insert into mytable>

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理