更改一个表上的现有分片存储策略

如果您确定一个表上的初始策略不能满足您的需求,则您可以重新定义该表的分片存储策略。当您更改分片存储策略时,数据库服务器会废弃现有的分片存储策略,并按新的分片存储策略中的定义将记录移到分片中。

以下示例显示了在 account 表上最初定义的分片存储策略,然后显示了重新定义分片存储策略的 ALTER FRAGMENT 语句:
CREATE TABLE account (col1 INT, col2 INT) 
        FRAGMENT BY ROUND ROBIN IN dbsp1, dbsp2;
        ALTER FRAGMENT ON TABLE account
        INIT FRAGMENT BY EXPRESSION 
        col1 < 0 IN dbsp1,
        col2 >= 0 IN dbsp2;

当您重新定义一个分片存储策略时,一个现有 dbspace 已满,则您不得在新的分片存储策略中使用它。