DB2 9.7 新特性 - 内联 LOB 的使用
2010-08-06 00:00:00 来源:WEB开发网重组表使新设定生效
对于内联 LOB 功能,DB2 9.7 中表重组功能也相应做了扩充,REORG 命令多了 LONGLOBDATA 参数。LONGLOBDATA 参数只对 long 和 LOB 列有效。默认情况下是不启用 LONGLOBDATA 的,因为对 long 和 LOB 列的重组很消耗时间。但是转换分开存放的 LOB 到内联的 LOB 就需要这个参数。
清单 8. 重组目标表
C:\>db2 "REORG TABLE KONGZAIHUA.LOBtab1 LONGLOBDATA"
DB20000IREORG 命令成功完成。
正如前面的解释,如果表特别大,LOB 的重组可能会使用一定的时间。等表重组完成后,内联 LOB 的启用也就完成了。
查看目标表重组后信息
与重设 INLINE LENGTH 大小之前所做的一样,获取同样的目标表信息。首先获取并记录目标表的大小信息。
清单 9. 目标表大小信息
# db2 "SELECT varchar(tabname,15) as TABLENAME, data_object_p_size, lob_object_p_size,
(data_object_p_size + lob_object_p_size) as total_p_size FROM TABLE
(SYSPROC.ADMIN_GET_TAB_INFO('KONGZAIHUA', 'LOBTAB1')) AS T"
TABLENAME DATA_OBJECT_P_SIZE LOB_OBJECT_P_SIZETOTAL_P_SIZE
--------------- -------------------- -------------------- --------------------
LOBTAB1 20736 806428800
清单 9 中,基本表的大小与清单 1 想比变大了,而 LOB 的大小相比之下变小了。这正说明了很多的 LOB 被直接放入到基本表中,被作为基本表统计了。总的大小相比减少了。
清单 10. 目标表 INLINE LENGTH 信息
C:\>db2 "select varchar(name,15) as COLNAME, inline_length, coltype
from sysibm.syscolumns where tbname = 'LOBTAB1'"
COLNAMEINLINE_LENGTH COLTYPE
--------------- ------------- --------
AUTHOR0 VARCHAR
CHANGEDBY0 VARCHAR
CHANGEDON0 VARCHAR
CREATEDON0 VARCHAR
DATA7527 BLOB
DATA_VERSION0 VARCHAR
DOCUID0 VARCHAR
ENHSPOT0 VARCHAR
GENERATED0 VARCHAR
INTERNAL0 VARCHAR
SHORTTEXTID0 VARCHAR
TOOL_TYPE0 VARCHAR
VERSION0 VARCHAR
13 条记录已选择。
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接