WEB开发网
开发学院数据库DB2 DB2 V9.7 本地分区索引 阅读

DB2 V9.7 本地分区索引

 2009-07-23 16:13:47 来源:WEB开发网   
核心提示: 清单 1. 创建示例分区表与索引CREATETABLEt1(l_orderkeyINTEGER,l_partkeyINTEGER,l_suppkeyINTEGER,l_shipdatedate,padding1char(30))PARTITIONBYRANGE(l_shipdate)(pa

清单 1. 创建示例分区表与索引

   
CREATE TABLE t1 ( l_orderkey INTEGER, l_partkey INTEGER, l_suppkey INTEGER, 
 l_shipdate date, padding1 char(30) ) 
 
 PARTITION BY RANGE(l_shipdate) 
 ( 
 partition quarter01 STARTING '2008-01-01' ENDING '2008-03-31'in DMS_D1, 
 partition quarter02 STARTING '2008-04-01' ENDING '2008-06-30'in DMS_D2, 
 partition quarter03 STARTING '2008-07-01' ENDING '2008-09-30' in DMS_D3, 
 partition quarter04 STARTING '2008-10-01' ENDING '2008-12-31' in DMS_D4 
 ); 
 
 Create index idx_t1_l_orderkey on t1(l_orderkey) NOT partitioned ; 
 
 Create index idx_t1_l_partkey on t1(l_partkey) partitioned;

上面代码中,我们创建了一个拥有四个分区的范围分区表,同时创建了两个索引。索引 index idx_t1_l_orderkey 是非分区索引,idx_t1_l_partkey 是分区索引。

我们下面查看一下上面代码执行后数据字典关于表 T1 以及它的索引的描述。系统视图 syscat.datapartitions 中包含了分区表的分区信息以及相关统计信息,系统视图 syscat.indexpartitions 中则包含了分区索引的分区信息和相关统计信息。

清单 2. 分区表的数据分区信息

db2 "select substr(TABNAME ,1,10) t_name,substr(DATAPARTITIONNAME ,1,10) part_name, 
 DATAPARTITIONID ,substr(LOWVALUE,1,12) low_value,substr(HIGHVALUE,1,12) high_value 
 from syscat.datapartitions where tabname='T1'" 
 
 T_NAME PART_NAME DATAPARTITIONID TBSPACEID LOW_VALUE HIGH_VALUE ---------- 
 T1 QUARTER01 0 8 '2008-01-01' '2008-03-31' 
 T1 QUARTER02 1 9 '2008-04-01' '2008-06-30' 
 T1 QUARTER03 2 10 '2008-07-01' '2008-09-30' 
 T1 QUARTER04 3 11 '2008-10-01' '2008-12-31'

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 本地 分区

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