表分段存储和数据存储

分段存储功能将赋予您对数据库存储数据的位置的额外控制。您不但可以指定单个表和索引的位置,而且可以指定表和索引分段的位置(这些分段是位于不同存储空间的表或索引的不同部分)。您可以将下列存储空间分段:
通常您在最初创建表时将表分段。CREATE TABLE 语句将采用以下某种表格:
CREATE TABLE tablename ... FRAGMENT BY ROUND ROBIN IN dbspace1, dbspace2, dbspace3;

CREATE TABLE tablename ...FRAGMENT BY EXPRESSION 
   <Expression 1> in dbspace1,
   <Expression 2> in dbspace2,
   <Expression 3> in dbspace3;

FRAGMENT BY ROUND ROBIN 和 FRAGMENT BY EXPRESSION 关键字指的是两种不同的分布方案。两个语句都将分段与数据库空间关联。

对表进行分段时,还可在相同的数据库空间内为表创建多个分区,如此示例中所示:
CREATE TABLE tb1(a int) 
   FRAGMENT BY EXPRESSION
         PARTITION part1 (a >=0 AND a < 5) in dbs1,
         PARTITION part2 (a >=5 AND a < 10) in dbs1
          ...
       ;
下图说明了分段在指定数据位置中的角色。

图: 链接逻辑单元(包括表分段)和物理存储单元的数据库空间


此图显示了一个从系统目录指向数据库空间 1 的箭头和一个从表 1 指向数据库空间 2 的箭头。对于表 2,此图显示了一个从分段 1 指向数据库空间 1 的箭头、一个从分段 2 指向数据库空间 2 的箭头,以及一个从分段 3 指向数据库空间 3 的箭头。

有关空间和分区的信息,请参阅管理磁盘空间

有关分段存储的更多信息,请参阅《GBase 8s 数据库设计和实现指南》和《GBase 8s 性能指南》。