drop table t123;
create table t123(a varchar(10) primary key,b varchar(20));
create index t123_1 on table t123(a,b);
alter index t123_1 partition range by(a,b)(partition beijing1 values from (MINVALUE,MINVALUE) TO ('100a','100b'),partition beijing2 values from ('100a','100b') TO ('100c','200d'),partition beijing3 values from ('100c','200d') TO ('200e','200f'),partition beijing4 values from ('200e','200f') TO (MAXVALUE,MAXVALUE););
show ranges from index t123@t123_1; drop table t123;
create table t123(a varchar(20),b varchar(30),primary key(a,b)) partition by range(a,b)(partition p1 values from (MINVALUE,MINVALUE) TO ('100a','100b'),partition p2 values from ('100a','100b') TO ('100c','200d'),partition p3 values from ('100c','200d') TO ('200e','200f'));
基于主键的分片
drop table test1;
create table test1(loan_no varchar(30) primary key,b int default 1)
PARTITION BY RANGE (loan_no)(
PARTITION beijing1 VALUES FROM('80009102013614524-001') TO('80009242012616013-001'),
PARTITION beijing2 VALUES FROM('80009242012616013-001') TO('80009402012616640-001'),
PARTITION beijing3 VALUES FROM('80009402012616640-001') TO('80009412012615162-001'),
PARTITION beijing4 VALUES FROM('80009412012615162-001') TO('80009592016610678-001'),
PARTITION beijing5 VALUES FROM('80009592016610678-001') TO('80009812017616462-001'),
PARTITION beijing6 VALUES FROM('80009812017616462-001') TO('JNRCB1002886749-001'));
ALTER PARTITION beijing1 OF INDEX test1@primary CONFIGURE ZONE USING num_replicas =1,constraints ='{''+rack=1''}',lease_preferences = '[[+rack=1]]';
ALTER PARTITION beijing2 OF INDEX test1@primary CONFIGURE ZONE USING num_replicas = 1,constraints = '{''+rack=2''}',lease_preferences = '[[+rack=2]]';
ALTER PARTITION beijing3 OF INDEX test1@primary CONFIGURE ZONE USING num_replicas = 1,constraints = '{''+rack=3''}',lease_preferences = '[[+rack=3]]';
ALTER PARTITION beijing4 OF INDEX test1@primary CONFIGURE ZONE USING num_replicas = 1,constraints = '{''+rack=4''}',lease_preferences = '[[+rack=4]]';
ALTER PARTITION beijing5 OF INDEX test1@primary CONFIGURE ZONE USING num_replicas = 1,constraints = '{''+rack=5''}',lease_preferences = '[[+rack=5]]';
ALTER PARTITION beijing6 OF INDEX test1@primary CONFIGURE ZONE USING num_replicas = 1,constraints = '{''+rack=6''}',lease_preferences = '[[+rack=6]]';insert into test1 values('JNRCB1002886748-001');
insert into test1 values('80009412012615162-001');
insert into test1 values('80009242012616013-001');
insert into test1 values('80009402012616640-001');
insert into test1 values('80009102013614524-001');
insert into test1 values('JJ20210112700319527');
insert into test1 values('80009892015613743-001');
insert into test1 values('80009812017616462-001');
insert into test1 values('80009592016610678-001');
insert into test1 values('80009142017617257-001');show ranges from table test1;