可以通过建立一致检查约束表达式并验证分段表达式是否重叠来确保在连接分段时不会移动数据。
要确保在连接分段时不发生数据移动,请执行以下操作:
CREATE TABLE tb1(a int) FRAGMENT BY EXPRESSION (a >=0 AND a < 5) IN db1, (a >=5 AND a <10) IN db2; CREATE INDEX idx1 ON tb1(a);
CREATE TABLE tb2 (a int, check (a >=10 and a<15)) IN db3; CREATE INDEX idx2 ON tb2(a) IN db3; ALTER FRAGMENT ON TABLE tb1 ATTACH tb2 AS (a >= 10 AND a<15) AFTER db2;
所以,数据库服务器在数据库空间 db3 中保留索引 idx2,并将之转换成 索引 idx1 的分段。索引 idx1 仍保持与 表 tb1 使用相同的分段存储策略。