WEB开发网
开发学院数据库DB2 DB2中的数据移动——装入 阅读

DB2中的数据移动——装入

 2007-05-20 16:19:24 来源:WEB开发网   
核心提示: 其它组合可以参考DB2文档,注意:STATISTICS选项只能和REPLACE兼容,DB2中的数据移动——装入(6),与INSERT选项不兼容,另外,5. CPU_PARALLELISM该选项只能用于SMP系统上,可以指示使用多少进程或线程解析、转换、格式化数据,通过STATISTICS选

其它组合可以参考DB2文档。

注意:STATISTICS选项只能和REPLACE兼容,与INSERT选项不兼容。

另外,通过STATISTICS选项做完统计,我们看不到任何直接的结果,如果想查看其结果,需要到系统表中自己查询。

例十九:解除检查挂起状态

1. 连接到SAMPLE数据库上:

Connect to sample

2. 创建一个结构与staff表相同的表:

CREATE TABLE STAFF1 LIKE STAFF

3. 给该表添加一个检查约束:

alter table staff1 add constraint chk check(dept<100)

4. 到D盘上打开STAFF.TXT文件,把最后一行数据的第三列改为150,这样该条数据就不满足第3步加上的检查约

束条件了,然后用Load命令从文件中装入数据到staff1表中:

LOAD FROM D:STAFF.TXT OF DEL INSERT INTO STAFF1

5. 此时运行查询命令:

Select * from staff1

会得到错误信息:

SQL0668N 由于表 "USER.STAFF1" 上的原因代码 "1",所以不允许操作。

SQLSTATE=57016

原因是装入时有数据违反了检查约束,造成表处于检查挂起状态。

6. 解除表的检查挂起状态,使用:

set integrity for staff1 check immediate unchecked

再次运行查询命令:

Select * from staff1

发现表可以正常使用了,其中的违反检查规则的数据也存在。

例二十:性能因素

在从文件向表导入数据的时候,当数据量特别大的情况下,装入命令会明显体现出优势,原因是它不像导入命令每次插入一行,并且在每行都要检查是否满足约束条件,装入命令从输入文件读出数据构建页,把这些页直接写入数据库,并且在每一行数据装入时不判断是否满足约束,另外装入命令不写日志,所有这些因素都导致装入的效率高于导入。

另外,装入命令还有一些选项可以控制性能因素:

1. COPY YES/NO和Nonrecoverable

① Nonrecoverable(不可恢复的):指定装入操作不可恢复,并且不能由后续的前滚操作恢复。前滚操作忽略事务并且标记正在装入数据的表为“无效”。

② Copy No(默认选项):在这种情况下,如果表所在数据库的归档日志处于启用状态,则装入完成后,表所在的表空间将处于备份挂起状态,直到数据库或表空间备份完毕,该表空间才成为可写表空间。原因是装入操作造成的变化没有被记录,所以要恢复装入操作完成后发生的故障,备份数据库或表空间是必要的。

③ Copy Yes:在这种情况下,如果数据库的归档日志启用,装入操作的改变将被保存到磁带、目录或TSM服务器,并且表空间将不再处于备份挂起状态。

2. Fastparse

该文件类型修饰符用于减少数据检查次数。它只能用于在数据已知正确的情况下,尤其适用于DEL和ASC类型的文件。

3. Anyorder

如果SAVECOUNT选项没有使用,该参数允许不遵照输入文件中的数据顺序进行装入,在SMP(对称多处理机)系统上CPU_PARALLELISM选项大于1的时候,该参数会提高装入的性能。

4. Data Buffer

该参数用于指定从堆栈分配得到的4K大小的内存页面的数目,作为装入的内部缓冲区,指定一个大缓冲区有助于提高装入的性能。

5. CPU_PARALLELISM

该选项只能用于SMP系统上,可以指示使用多少进程或线程解析、转换、格式化数据。

6. Disk_Parallelism

该选项指定写数据到磁盘的进程或线程的数目。

上一页  1 2 3 4 5 6 

Tags:DB 数据 移动

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接