Я изучаю способы разбиения таблицы MySQL на год и месяц. Можете ли вы, пожалуйста, проанализировать мое создание таблицы ниже и посмотреть, приведет ли этот метод разделения к помещению данных по месяцам и годам в эти подразделы? Я использую MySQL 5.5, и я не могу использоватьЭффективный метод для разбиения таблицы MySQL по годам и месяцам
SELECT * FROM points_log PARTITION (p0_p0sp0);
, чтобы проверить, работает ли разметка. Если есть способ проверить это в MySQL 5.5, прокомментируйте. Я ценю ваши отзывы и критику в этом разделе.
Вот мое создание таблицы:
CREATE TABLE `points_log` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`nick` char(25) NOT NULL,
`amount` decimal(7,4) NOT NULL,
`stream_online` tinyint(1) NOT NULL,
`modification_type` tinyint(3) unsigned NOT NULL,
`dt` datetime NOT NULL,
PRIMARY KEY (`id`,`dt`,`nick`),
KEY `nick_idx` (`nick`),
KEY `amount_idx` (`amount`),
KEY `modification_type_idx` (`modification_type`),
KEY `dt_idx` (`dt`),
KEY `stream_online_idx` (`stream_online`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1
PARTITION BY RANGE(YEAR(dt))
SUBPARTITION BY HASH(MONTH(dt))
SUBPARTITIONS 12 (
PARTITION p0 VALUES LESS THAN (2014),
PARTITION p1 VALUES LESS THAN (2015),
PARTITION p2 VALUES LESS THAN (2016),
PARTITION p3 VALUES LESS THAN (2017),
PARTITION p4 VALUES LESS THAN (2018),
PARTITION p5 VALUES LESS THAN (2019),
PARTITION p6 VALUES LESS THAN (2020),
PARTITION p7 VALUES LESS THAN MAXVALUE
);
Я действительно не знаю, почему вы не получили повышение. Это все верно ИМХО. – seven
Thanks @seven; Я так долго разглагольствовал; возможно, другие просто закатывают глаза на мое повторение. У вас есть точка - вопрос был «просмотрен» 1171 раз. –