mysql给现有表增加表分区语句
时间: 2023-07-27 14:29:11 浏览: 52
MySQL增加表分区语句的基本语法如下:
```
ALTER TABLE table_name
PARTITION BY range (column_name) (
PARTITION partition_name1 VALUES LESS THAN (value1),
PARTITION partition_name2 VALUES LESS THAN (value2),
PARTITION partition_nameN VALUES LESS THAN MAXVALUE
);
```
其中,`table_name`是需要增加分区的表名,`column_name`是用于分区的列名,`partition_name`是分区名称,`value`是分区的取值范围。
例如,将表`orders`按照订单时间`order_date`进行分区,分为2019年之前、2019年、2020年、2021年四个分区,可以使用如下语句:
```
ALTER TABLE orders
PARTITION BY RANGE (YEAR(order_date)) (
PARTITION p0 VALUES LESS THAN (2019),
PARTITION p1 VALUES LESS THAN (2020),
PARTITION p2 VALUES LESS THAN (2021),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
```
这个例子中,我们使用了`YEAR`函数从`order_date`中提取年份进行分区,其中`p0`分区表示2019年之前的订单,`p1`分区表示2019年的订单,以此类推。