Партицирование таблицы 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

Нужен пример данной разбивки на партиции по указанным выше критерия...
  • Вопрос задан
  • 1062 просмотра
Пригласить эксперта
Ответы на вопрос 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 Автор вопроса
Ваш ответ на вопрос

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

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