PARTITION для готовой базы данных?

прошу прощение за столько тупой вопрос, и возможно для кого-то очевидный, но все же...
Сейчас изучаю 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'))
    );
  • Вопрос задан
  • 258 просмотров
Решения вопроса 1
sarapinit
@sarapinit
Точу водой камень
Хочу сделать парционирование по дате, но мне постоянно выдает ошибки по типу
A PRIMARY KEY must include all columns in the table's partitioning function


Вам в этой ошибке объясняют что не так, непонятно почему вы продолжаете игнорировать ее.
Если вы хотите сделать партицивание по колонке date, то она должна быть частью первичного ключа. То есть нужно соответствующим образом пересоздать первичный ключ, а затем делать партиции
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы