mysql 建PARTITION BY list
时间: 2023-10-02 12:05:30 浏览: 104
在 MySQL 中,`PARTITION BY list` 是一种分区方式,它将表分成多个分区,每个分区包含符合指定列表值的行。以下是一个示例 SQL 语句,用于创建一个基于列表分区的表:
```
CREATE TABLE mytable (
id INT,
name VARCHAR(20),
created_date DATE
)
PARTITION BY LIST (YEAR(created_date))
(
PARTITION p2010 VALUES IN (2010),
PARTITION p2011 VALUES IN (2011),
PARTITION p2012 VALUES IN (2012),
PARTITION p2013 VALUES IN (2013),
PARTITION p2014 VALUES IN (2014),
PARTITION p2015 VALUES IN (2015),
PARTITION p2016 VALUES IN (2016),
PARTITION p2017 VALUES IN (2017),
PARTITION p2018 VALUES IN (2018),
PARTITION p2019 VALUES IN (2019),
PARTITION p2020 VALUES IN (2020),
PARTITION p2021 VALUES IN (2021),
PARTITION p2022 VALUES IN (2022),
PARTITION p2023 VALUES IN (2023)
);
```
在这个例子中,我们使用 `PARTITION BY LIST (YEAR(created_date))` 语句来创建一个基于 `created_date` 字段的列表分区表。该表被分成 14 个分区,每个分区包含一个指定年份的行。对于每个分区,我们使用 `VALUES IN` 语句来指定所包含的值。在这个例子中,我们将表分成了 2010 年到 2023 年共 14 个分区。
阅读全文