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

DB2中的数据移动-装入

 2008-05-15 14:58:45 来源:WEB开发网   
核心提示:例十八:生成统计数据使用STATISTICS选项可以在装入的过程中生成统计数据,这些统计数据可以供优化器确定最有效的执行SQL语句的方式,DB2中的数据移动-装入(5),可以对表和索引产生不同详细程度的统计数据:① 对表和索引产生最详细的统计数据:LOAD FROM D:STAFF.TXT OF DEL REPLACE

例十八:生成统计数据

使用STATISTICS选项可以在装入的过程中生成统计数据,这些统计数据可以供优化器确定最有效的执行SQL语句的方式。

可以对表和索引产生不同详细程度的统计数据:

① 对表和索引产生最详细的统计数据:

LOAD FROM D:STAFF.TXT OF DEL REPLACE INTO STAFF1 STATISTICS YES WITH DISTRIBUTION AND DETAILED INDEXES ALL

② 对表和索引都产生简略的统计:

LOAD FROM D:STAFF.TXT OF DEL REPLACE INTO STAFF1 STATISTICS YES AND INDEXES ALL

其它组合可以参考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 2 3 4 5 6  下一页

Tags:DB 数据 移动

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