1.检查mysql是否支持分区
2.查看是否有分区
2.分区类型:
RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区.
· LIST 分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。
· HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。
· KEY 分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL 服务器提供其自身的哈希函数
3.案例演示
list:分区
CREATE TABLE t2 (val INT)
PARTITION BY LIST(val)(
PARTITION p1 VALUES IN (1,3,5),
PARTITION p2 VALUES IN (2,4,6));
RANGE:分区
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 NOT NULL,
store_id INT NOT NULL
)
PARTITION BY RANGE (store_id) (
PARTITION p1 VALUES LESS THAN (11),
PARTITION p2 VALUES LESS THAN (16),
PARTITION p3 VALUES LESS THAN (21),
PARTITION p4 VALUES LESS THAN maxvalue);
HASH分区
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(YEAR(hired))
PARTITIONS 4;
key分区使用的少,不做叙述
标签:INT,分区,PARTITION,VALUES,mysql,NULL,id From: https://blog.51cto.com/u_11635800/5877043