DB2 重建索引的命令正确格式是什么?

reorg indexs T_HK_TRANSDTL_IDX1 for table T_HK_TRANSDTL ;报104错误,T_HK_TRANSDTL_IDX1 是我的索引名,T_HK_TRANSDTL 是表名,语法有错误?

reorg是用来整理磁盘碎片的即重构表。DB2修改表结构后需要做reorg
以下两种方法都可以:
reorg table T_HK_TRANSDTL;
reorg table T_HK_TRANSDTL INDEX T_HK_TRANSDTL_IDX1 RESETDICTIONARY;这种是按照索引T_HK_TRANSDTL_IDX1重构表
,再执行一下runstats on table T_HK_TRANSDTL with distribution and index all;收集统计信息就可以了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-30
这个叫重构,不是重建
要学会DB2的帮助,
在db2cmd 中输入db2 ? REORG
reorg的完整语法就会出来

REORG {TABLE table-name Table-Clause | {INDEXES ALL FOR TABLE table-name |
INDEX index-name [FOR TABLE table-name]} Index-Clause |
TABLE mdc-table-name RECLAIM EXTENTS ONLY Reclaim-Extents-Clause}
[Table-Partition-Clause] [On-DbPartitionNum-Clause]

Table-Clause:
[INDEX index-name] [[ALLOW {READ | NO} ACCESS]
[USE tablespace-name] [INDEXSCAN] [LONGLOBDATA [USE long-tablespace-name]]
[KEEPDICTIONARY | RESETDICTIONARY]] |
[INPLACE [ [ALLOW {WRITE | READ} ACCESS] [NOTRUNCATE TABLE]
[START | RESUME] | {STOP | PAUSE} ]]

Index-Clause:
[ALLOW {READ | NO | WRITE} ACCESS]
[{CLEANUP ONLY [ALL | PAGES] | CONVERT}]

Reclaim-Extents-Clause:
[ALLOW {WRITE | READ | NO} ACCESS]

Table-Partition-Clause:
ON DATA PARTITION partition-name

On-DbPartitionNum-Clause:
ON {{DBPARTITIONNUM | DBPARTITIONNUMS} (db-partition-number
[TO db-partition-number] , ... ) | ALL DBPARTITIONNUMS [EXCEPT
{DBPARTITIONNUM | DBPARTITIONNUMS} (db-partition-number
[TO db-partition-number] , ...)]}
第2个回答  2013-12-29
REORG INDEXES ALL FOR TABLE 表名 ALLOW READ ACCESS;
你indexs 写错了。
相似回答