1. 查看数据库是否支持分区:SHOW VARIABLES LIKE '%partition%';
2. Range分区
1)直接创建表时分区【实例】
create table teacher
(id varchar(20) not null ,
name varchar(20),
age varchar(20),
birthdate date not null,
salary int
)
partition by range(year(birthdate))
(
partition p1 values less than (1970),
partition p2 values less than (1990),
partition p3 values less than maxvalue
);##### 创建teacher表,并在创建teacher表同时根据birthdate字段将表划分为p1、p2、p3三个分区。
2)创建表后分区
ALTER TABLE teacher
partition by range(year(birthdate))
(
partition p1 values less than (1970),
partition p2 values less than (1990),
partition p3 values less than maxvalue
);##### 给已经创建了的表分区,分为p1、p2、p3.
l List分区
俗名:列表分区。其实list分区和range分区应该说都是一样的,不同的是range分区在分区是的依据是一段连续的区间;而list分区针对的分区依据是一组分布的散列值。
create tablestudent
(id varchar(20) not null ,
studentno int(20) not null,
name varchar(20),
age varchar(20)
)
partition by list(studentno)
(
partition p1 values in (1,2,3,4),
partition p2 values in (5,6,7,8),
partition p3 values in (9,10,11)
);#### 如上创建表student,并将student表分为p1、p2、p3三个分区。需要注意的是一般情况下,针对表的分区字段为int等数值类型。