Задать вопрос

Партицирование таблицы MySql по двум полям?

Имеется таблица:
CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`created` datetime DEFAULT CURRENT_TIMESTAMP,
`updated` datetime DEFAULT ON UPDATE CURRENT_TIMESTAMP,
`status` tinyint(1) NOT NULL DEFAULT 0,
....
PRIMARY KEY (`id`),
....
) ENGINE=InnoDB DEFAULT CHARSET=utf8

Необходимо выполнить партицирование данной таблицы по двум полям: updated и status
Причем по полю updated например по квартально или по году а по полю status например со значением равным 2

Нужен пример данной разбивки на партиции по указанным выше критерия...
  • Вопрос задан
  • 1098 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
egor_nullptr
@egor_nullptr
https://dev.mysql.com/doc/refman/5.6/en/partitioni...
PARTITION BY RANGE(YEAR(updated))
SUBPARTITION BY HASH(status)
SUBPARTITIONS 4 (
        PARTITION p0 VALUES LESS THAN (2000),
        PARTITION p1 VALUES LESS THAN (2010),
        PARTITION p2 VALUES LESS THAN MAXVALUE
);


Количество SUBPARTITIONS (в примере 4) равно количеству различных значений поля status.
Ответ написан
Комментировать
@starkos Автор вопроса
Ваш ответ на вопрос

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

Похожие вопросы