【发布时间】:2016-07-07 12:24:03
【问题描述】:
我正在尝试在 mysql 中在日期列 MV_DATE 的类型为 DATE 上创建一个分区
这是查询 -
ALTER TABLE table_name PARTITION BY RANGE (TO_DAYS(MV_DATE))(PARTITION p0 VALUES LESS THAN (TO_DAYS('2015-08-31')));
我收到错误A PRIMARY KEY must include all columns in the table's partitioning function
MV_DATE 不是我表的主键。
我也尝试了ALTER TABLE JOB_VOL_SWH PARTITION BY RANGE ((MV_DATE))(PARTITION p0 VALUES LESS THAN (TO_DAYS('2015-08-31')));,它抛出了错误ERROR 1659 (HY000): Field 'JB_DATE' is of a not allowed type for this type of partitioning
我现在尝试了几个选项,但似乎没有一个有效。
有没有一种特殊的方法可以按日期范围创建分区? MYSQL 表有近十亿行数据,这几乎意味着我的查询根本不返回(实际上)。因此,希望对表进行分区。
【问题讨论】:
标签: mysql partitioning database-partitioning partition