MySQL可以使用PARTITION BY子句进行表分区。以下是创建表分区的步骤:
CREATE TABLE mytable (
id INT,
name VARCHAR(50),
age INT
);
ALTER TABLE mytable
PARTITION BY RANGE(id) (
PARTITION p0 VALUES LESS THAN (10),
PARTITION p1 VALUES LESS THAN (20),
PARTITION p2 VALUES LESS THAN (MAXVALUE)
);
上述示例中,表被分为三个分区,分区p0包含所有id小于10的行,p1包含所有id小于20的行,p2包含剩余的行。
ALTER TABLE mytable
ADD PARTITION (
PARTITION p3 VALUES LESS THAN (30)
);
上述示例中,添加了一个新的分区p3,该分区包含所有id小于30的行。
注意:在创建分区之前,必须确保表上没有主键或唯一索引。分区列也必须是整数或日期/时间类型的列。