mysql8.0 order_info表目前有400w数据,且持续增长,要求根据create_time按年创建分区提高性能
时间: 2023-02-11 15:09:20 浏览: 192
mysql千万级数据大表该如何优化?
5星 · 资源好评率100%
MySQL 8.0中的order_info表目前有400万条数据且持续增长,为了提高性能,可以根据create_time字段按年创建分区。例如:
```
ALTER TABLE order_info
PARTITION BY RANGE(YEAR(create_time)) (
PARTITION p_2022 VALUES LESS THAN (2023),
PARTITION p_2021 VALUES LESS THAN (2022),
PARTITION p_2020 VALUES LESS THAN (2021),
PARTITION p_2019 VALUES LESS THAN (2020),
PARTITION p_older VALUES LESS THAN (2019)
);
```
这样,数据会被分到不同的分区中,查询时只需要查询对应分区中的数据,可以提高性能。
阅读全文