db2 import 效率提高

本文介绍了通过调整DB2 IMPORT命令参数以提高数据导入效率的方法,包括使用BufferedInsert、COMPOUND参数、设置commitcount及采用LOAD命令等。同时讨论了在线模式和离线模式下的IMPORT操作细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、如果是在分区数据库的环境下,可以利用Buffered Insert来提高IMPORT的性能:
在执行IMPORT命令前,要先用INSERT BUF参数重新绑定IMPORT命令对应的绑定文件db2uimpm.bnd 。例如:
db2 connect to 数据库名
db2 bind db2uimpm.bnd blocking all insert buf
db2uimpm.bnd在..sqllib\bnd目录下。
2、执行IMPORT命令时使用COMPOUND参数:
例如:
db2 connect to 数据库名
db2 import from 数据文件名 of ixf modified by compound=100 insert into 表名
上面的命令中IMPORT会在每100条记录而不是每条记录插入后等待返回的SQL执行结果。
3、如果表中已有数据,将表的属性修改为APPEND MODE也可以加快IMPORT的性能。
4、设置commitcount 参数加快导入
db2 import from 数据文件名 of ixf modified by compound=100 commitcount 10000 insert into 表名

5、该用load可以提高4倍速度
(注意):有一次发现dos格式数据文件在linux导入时特别慢,在log文件中看见全是警告,转换为nuix格式后速度提高10倍
import导入模式
1、在线模式-Online Import (ALLOW WRITE ACCESS)
1)应用程序和import必须使用非独占锁(IX-nonexclusive lock),才可以在线导入,否则会相互等待,import可以显式指定commit频率或者使用AUTOMATIC选项。
db2 import from tbtest of ixf insert into tbtest ALLOW WRITE ACCESS COMMITCOUNT 5[或者AUTOMATIC]
2)在该模式下,import禁止使用REPLACE, CREATE 和 REPLACE_CREATE选项。
2、离线模式(缺省模式)-Offline Import (ALLOW NO ACCESS)

import启动后,要求独占锁(表锁),如果应用程序持有行锁或表锁,import将等待直到释放


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值