大数据量迁移的一些心得

大数据量迁移的一些心得

最近迁移了一个大约30G的SQL SERVER 2000的数据库到DB2 8.1。以下为迁移的工作心得:
1、在大表的迁移中,不要因为图快而先迁移数据然后建立主键索引。因为很有可能系统没有足够的资源完成这样的操作。我在迁移超过400万行记录的表时,等迁移完数据后,再建立Primary Key时,提示资源不足而出错。

2、插入数据可以使用DB2的一个特色功能,一个Insert语句,可以带多个Values。
INSERT INTO T (F1, F2) VALUES (?, ?), (?, ?) , (?, ?), (?, ?), (?, ?)
这样的方式,要比addBatch的方式要快。

3、主表和从表的外键关联问题
例如主表为A,从表为B。
TABLE A (
A1 VARCHAR(50)
)
TABLE B (
B1 VARCHAR(40),
CONSTRAINT Fk_B FOREIGN KEY (B1) REFERENCES A (A1)
)
外键 Fk_B (B1) REFERENCES A (A1)
其中A表数据:
A1
'aa'
'bb'

B表
'Aa'
'bB'

这在SQL Server中,缺省的建库不区分大小写,它是合法的。迁移到DB2中时,由于库是大小写区分,出现错误。

建议:在SQL Server中,我们直接使用区分大小的选项建立数据库,与所有的支持的数据库一致。这样我们的程序更容易发现多数库支持的错误。

4、海量数据库的迁移工作耗时很长,建议以后规划这类工作时,给予更多的时间,否则很容易出现延迟或者无法完成任务的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值