zoukankan      html  css  js  c++  java
  • 大数据量迁移的一些心得

    大数据量迁移的一些心得

    最近迁移了一个大约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、海量数据库的迁移工作耗时很长,建议以后规划这类工作时,给予更多的时间,否则很容易出现延迟或者无法完成任务的情况。

  • 相关阅读:
    bzoj1045: [HAOI2008] 糖果传递(数论)
    bzoj1083: [SCOI2005]繁忙的都市(最小生成树)
    bzoj1079: [SCOI2008]着色方案(DP)
    BZOJ2467 [中山市选2010]生成树
    BZOJ4766 文艺计算姬
    BZOJ4894 天赋
    BZOJ2560 串珠子
    [SDOI2014]重建
    BZOJ3622 已经没有什么好害怕的了
    [SDOI2016]储能表
  • 原文地址:https://www.cnblogs.com/jobs/p/48683.html
Copyright © 2011-2022 走看看