@tzn
Сейчас изучаю PARTITION для mysql бд, и столкнулся с проблемой — у меня есть готовая база данных, в которой уже довольно таки много данных. Хочу сделать парционирование по дате, но мне постоянно выдает ошибки по типу
A PRIMARY KEY must include all columns in the table's partitioning function
Partition column values of incorrect type
и тд.
Гуглом умею пользоваться, но нигде нет примеров партиционирования для готовой таблицы. На зрел вопрос — это вообще реально? если да, что я делаю не так. Спасибо.
вот все мои попытки:
ALTER TABLE leads PARTITION BY RANGE COLUMNS (date) (
PARTITION p1 VALUES LESS THAN ('2021-08-01')
);
ALTER TABLE leads PARTITION BY RANGE (Month (date))
(
PARTITION p_1 VALUES LESS THAN (TO_DAYS('2021-05-01')),
PARTITION p_2 VALUES LESS THAN MAXVALUE );
ALTER TABLE leads PARTITION BY RANGE (Month (date))
(
PARTITION p_1 VALUES LESS THAN (TO_DAYS('2021-05-01')),
PARTITION p_2 VALUES LESS THAN MAXVALUE );
ALTER TABLE leads PARTITION BY RANGE (Month (date))
(
PARTITION p_Apr VALUES LESS THAN (TO_DAYS('2021-05-01'))
);
Решения вопроса 0
Ответы на вопрос 1
@sarapinit
Хочу сделать парционирование по дате, но мне постоянно выдает ошибки по типу
A PRIMARY KEY must include all columns in the table’s partitioning function
Вам в этой ошибке объясняют что не так, непонятно почему вы продолжаете игнорировать ее.
Если вы хотите сделать партицивание по колонке date, то она должна быть частью первичного ключа. То есть нужно соответствующим образом пересоздать первичный ключ, а затем делать партиции