使用 FRAGMENT BY 子句创建拆离索引,并在多个 sbspace 或分区上定义存储策略。
这类似表的 FRAGMENT BY 子句的语法,但索引分片不支持 ROUND ROBIN 关键字不。PARTITION BY 关键字是此上下文中 FRAGMENT BY 关键字的同义词。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
dbspace | 存储索引分片的 dbspace | 您能指定至多 2,048 个 dbspaces 。所有存储分片的 dbspaces 必须具有相同的页大小。 | 标识符 |
fragment _key | 索引列上的强制转型、列或函数表达式。索引根据此表达式的值分片。 | 列只能来自当前的表。 | 表达式 |
此处 IN 关键字引入了用来存储索引分片的存储空间的名称。如果您在 IN 关键字时候列出多个 dbspace 名称,则使用圆括号来为 dbspace 列表定界。所有存储分片的 dbspaces 必须具有相同的页大小。将位于 EXPRESSION 关键字后面的分段定义列表括起的圆括号是可选的。
对于使用同一 RANGE 区间或者 LIST 分片策略作为它们表策略的索引,您在 PARTITION 关键字之后声明的每个分片的名称必须与对应表分片的标识符相同。
对于由 RANGE 区间分片策略分片的连接索引,如果在新插入的行的范围内不存在表分片,则数据库服务器创建一个新的表分片以存储新行,并为此新表分片声明系统生成的名称。如果该表被索引,且索引被与表相同的 RANGE 区间策略分片,则数据库服务器还会创建新的索引分片。在这种情况中,该索引分片具有与对应表分片相同的系统生成的标识符。有关系统生成的 RANGE 区间分片的信息,请参阅 Interval fragment 子句和通过 RANGE INTERVAL 分片 。