GBase 8s ALTER FRAGMENT ON INDEX语句的示例

143 篇文章 3 订阅
142 篇文章 0 订阅

以下一系列的示例阐述了 ALTER FRAGMENT ON INDEX 的 INIT 、ADD 、DROP 和 MODIFY 选项。
第一个示例创建了一个存储于 dbsp1 中的索引:
CREATE INDEX item_idx ON items (stock_num) IN dbsp1;
以下语句修改此索引以添加分片。值超过 50 的存储在 dbsp1、值在 51 和 80 之间的存储于 dbsp2 ,剩余的存储于 dbsp3:
ALTER FRAGMENT ON INDEX item_idx INIT
FRAGMENT BY EXPRESSION
stock_num <= 50 IN dbsp1,
stock_num > 50 AND stock_num <= 80 IN dbsp2,
REMAINDER IN dbsp3;
以下语句向该索引中添加了一个新的分片:
ALTER FRAGMENT ON INDEX item_idx
ADD stock_num > 80 AND stock_num <= 120 IN dbsp4;
以下语句更改了此索引的第一个分片:
ALTER FRAGMENT ON INDEX item_idx
MODIFY dbsp1 TO stock_num <= 40 IN dbsp1;
以下语句删除了该索引 dbsp4 中的分片:
ALTER FRAGMENT ON INDEX item_idx
DROP dbsp4;
以下语句定义了一个按表达式分片的索引,其分片存储于dbspaces dbsp1 和 dbsp2 的命名的分片中:
ALTER FRAGMENT ON INDEX item_idx INIT
PARTITION BY EXPRESSION
PARTITION part1 stock_num <= 10 IN dbsp1,
PARTITION part2 stock_num > 20 AND stock_num <= 30 IN dbsp1,
PARTITION part3 REMAINDER IN dbsp2;
以下语句添加了一个新的命名的分片:
ALTER FRAGMENT ON INDEX item_idx ADD
PARTITION part4 stock_num > 30 AND stock_num <= 40 IN dbsp2
BEFORE part3;
以下语句在索引 idx1 上定义了范围区间存储分布方案:
ALTER FRAGMENT ON INDEX idx2 INIT
FRAGMENT BY RANGE(c2)
INTERVAL (NUMTOYMINTERVAL(1,‘MONTH’)
PARTITION part0 VALUES < DATE(‘01/01/2007’) IN dbs0,
PARTITION part1 VALUES < DATE(‘07/01/2007’) IN dbs1,
PARTITION part2 VALUES < DATE(‘01/01/2008’) IN dbs2
上述示例中,
分片键是列 c2 的值,
间隔值是一个月,
因为不包含 STORE IN 子句,新的系统生成的区间分区将轮流存储在 dbs0 、dbs1 和 dbs2 中;
区间分片过渡值是 01/01/2008 。(这是超过最后一个用户定义分片的范围的最小值)
以下语句在索引 idx2 上定义了一个列表存储分布方案:
ALTER FRAGMENT ON INDEX idx2 INIT
FRAGMENT BY LIST(state)
PARTITION part0 VALUES (‘KS’,‘IL’) IN dbs0,
PARTITION part1 VALUES (‘CA’,‘OR’) IN dbs0,
PARTITION part2 VALUES (NULL) IN dbs1,
PARTITION part3 REMAINDER IN dbs2;
在以上列表分片示例中,
分片键是列 state 的值,
头两个分片的表达式列表是分别是两个 state 的邮政缩写字符串,
定义的行的 NULL 分片(part2)和余项分片(part3)的分片键值都不符合头两个表达式列表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值