#list分区--键值经由过程自定义的list来肯定写入到哪一个分区中。
上风:支撑int,时候,varchar等值
劣势:须要本身写响应数据的隶属(写入或许查询到哪一个分区),即后期若分区前提修正须要再设置。
CREATE TABLE t_test ( unid INT auto_increment , uuid VARCHAR(36), cdate datetime, type int, text varchar(30), PRIMARY KEY(unid,type) ) PARTITION BY LIST COLUMNS(type) ( #这里以type字段来分区,list分区中,这个字段能够为int整形或许某个值 PARTITION pRegion_1 VALUES IN (1), #这里的意义是,当type=1时,数据会写入到pRegion_1分区中 PARTITION pRegion_2 VALUES IN (2), #同上 PARTITION pRegion_3 VALUES IN (3), PARTITION pRegion_4 VALUES IN (4) );
#hash分区--键值经由过程hash算法盘算后,自动写入到响应的分区中 。
上风:不须要本身写响应数据的隶属(写入或许查询到哪一个分区)
劣势:只支撑int整型
CREATE TABLE t_test ( unid INT auto_increment , uuid VARCHAR(36), cdate datetime, type int, text varchar(30), PRIMARY KEY(unid,type) #复合主键,由于背面要用type字段来分区 ) PARTITION BY HASH ( type ) #这里以type字段来分区,type必需是主键或许是复合主键包括的字段,hash分区的体式格局必需该字段为int PARTITIONS 10; #这里设定的是分区数为10,数据会经由过程type字段经由hash算法后,自动归属到10个分区中的某个分区中
以上就是mysql 竖立分区的两种体式格局引见(代码示例)的细致内容,更多请关注ki4网别的相干文章!