DB2 V9.7 新特性:在线移动表
2009-12-18 00:00:00 来源:WEB开发网上面清单中首先使用默认值启动数据移动 INIT 阶段,然后使用 ADMIN_MOVE_TABLE_UTIL 过程修改压缩采样大小为 30720 KB,并删除 COPY_INDEXSCHEMA、COPY_INDEXNAME 设置,然后继续数据移动过程。
数据移动例子
使用 DB2 在线表移动功能,我们可以进行:
在线表压缩。
在表重组或者重分布
在线将表空间转换为 LARGE 表空间
将数据 / 索引 /LONG 移动到新的不同的表空间
支持表模式变化,如增加列、删除列、修改列数据类型,增加或修改 MDC 维定义,增加或修改范围分区键、增加或修改表分区键
我们首先创建测试表 EMP_TEST,并创建索引,然后向表中插入 10 万条测试数据。
清单 6. 创建测试表 CREATE TABLE emp_test (
EMPNO INTEGER NOT NULL,
first_name VARCHAR(128) NOT NULL,
last_name VARCHAR(128),
SALARY DECIMAL,
BONUS DECIMAL,
COMM DECIMAL,
CONSTRAINT EMPNO_pk PRIMARY KEY (EMPNO)
)
IN USERSPACE1;
Create index first_name_idx on emp_test(first_name);
Create index last_name_idx on emp_test(last_name);
INSERT INTO emp_test (EMPNO, first_name, last_name,SALARY,BONUS,COMM)
WITH TEMP (COUNTER, first_name, last_name,SALARY,BONUS,COMM) AS
(
VALUES (0,
VARCHAR(MOD(INT(RAND() * 100000), 99999)),
VARCHAR(MOD(INT(RAND() * 100000), 99999)),
MOD(INT(RAND() * 100000), 99999),
MOD(INT(RAND() * 100000), 99999),
MOD(INT(RAND() * 100000), 99999)
)
UNION ALL
SELECT
(COUNTER + 1),
VARCHAR(MOD(INT(RAND() * 100000), 99999)),
VARCHAR(MOD(INT(RAND() * 100000), 99999)),
MOD(INT(RAND() * 100000), 99999),
MOD(INT(RAND() * 100000), 99999),
MOD(INT(RAND() * 100000), 99999)
FROM
TEMP
WHERE
(COUNTER + 1) < 100000
)
SELECT
COUNTER, first_name, last_name,SALARY,BONUS,COMM
FROM
TEMP
;
runstats on table db2admin.emp_test and indexes all;
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››在线浏览pdf文件(pdf转swf)
- ››db2 命令选项解释
- ››在线视频最佳方法:产品页面的SEO技巧
- ››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 基础: 表空间和缓冲池
更多精彩
赞助商链接