当前位置:Gxlcms > 数据库问题 > Mysql分区表使?

Mysql分区表使?

时间:2021-07-01 10:21:17 帮助过:27人阅读

TABLE r1 ( a INT, b INT ) PARTITION BY RANGE (a) ( PARTITION p0 VALUES LESS THAN (5), PARTITION p1 VALUES LESS THAN (MAXVALUE) );

2、LIST分区

类似RANGE分区,区别在LIST分区是基于枚举出的值列表分区,RANGE是基于给定连续区间范 围分区。

CREATE TABLE customers_1 (
first_name VARCHAR(25),
last_name VARCHAR(25),
street_1 VARCHAR(30),
street_2 VARCHAR(30),
city VARCHAR(15),
renewal DATE
)
PARTITION BY LIST COLUMNS(city) (
PARTITION pRegion_1 VALUES IN(Oskarshamn, Högsby, Mönsterås),
PARTITION pRegion_2 VALUES IN(Vimmerby, Hultsfred, Västervik),
PARTITION pRegion_3 VALUES IN(Nässjö, Eksjö, Vetlanda),
PARTITION pRegion_4 VALUES IN(Uppvidinge, Alvesta, Växjo)
);

3、HASH分区

基于?户定义的表达式返回值来选择分区,该表达式对要插?到表的?中列值操作。

PS:表达式必须返回整型数据。

CREATE TABLE employees (
id INT NOT NULL,
fname VARCHAR(30),
lname VARCHAR(30),
hired DATE NOT NULL DEFAULT 1970-01-01,
separated DATE NOT NULL DEFAULT 9999-12-31,
job_code INT,
store_id INT
)
PARTITION BY HASH(store_id)
PARTITIONS 4;

4、KEY分区

类似HASH分区,但是HASH分区允许使??户?定义表达式,?KEY分区不允许,它需要使? MySQL服务器提供的HASH函数,同时HASH分区只?持整数分区,?KEY分区?持除BLOB和 TEXT类型外其他列。

PS:KEY分区对列数据进?hash运算所以有时候数据分布会?常不均匀。如果不指定列,mysql会?动使?主键或者唯?健所在的列。

CREATE TABLE k1 (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20)
)
PARTITION BY KEY()
PARTITIONS 2;

 

Mysql分区表使?

标签:arc   second   tab   表数据   min   设置   arw   lan   整型   

人气教程排行