选择按mod使用分区

时间:2019-02-26 11:30:09

标签: mysql sql

我有mysql表,其中包含超过50亿条包含两年数据的记录,其定义如下:

create table test_partition (
  test_data VARCHAR(255),
  create_date DATE
);

我们的大多数查询都针对特定的月份和年份,因此我们决定使用相同的分区数据

ALTER TABLE test_partition PARTITION BY HASH(YEAR(create_date) + MONTH(create_date)) PARTITIONS 12;

现在我想检索2018年10月的数据。以下查询正在工作

select * from test_partition PARTITION(p0);

,但是我想以编程方式找到该数据所在的分区,例如

select * from test_partition PARTITION(p + MOD(2018 + 10, 12));

Mysql版本: 5.6.10

0 个答案:

没有答案