Я обновляю версию mysql с 5.0 до 5.5. и я новичок в изучении mysql partition
. во-первых, я печатаю
ПОКАЗАТЬ ПЕРЕМЕННЫЕ, КАК '% partition%'
Variable_name Value
have_partitioning YES
убедитесь, что новая версия поддерживает partition
. Я пытался разделить свою таблицу каждые 10 минут, а затем вставлять, обновлять, запрашивать огромные данные в этой таблице для проверки. во-первых, мне нужно создать новую таблицу, я набираю код:
CREATE TABLE test (
`id` int unsigned NOT NULL auto_increment,
`words` varchar(100) collate utf8_unicode_ci NOT NULL,
`date` varchar(10) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `index` (`words`)
)
ENGINE=MyISAM
DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci
AUTO_INCREMENT=0
PARTITION BY RANGE (MINUTE(`date`))
(
PARTITION p0 VALUES LESS THAN (1322644000),
PARTITION p1 VALUES LESS THAN (1322644600) ,
PARTITION p2 VALUES LESS THAN (1322641200) ,
PARTITION p3 VALUES LESS THAN (1322641800) ,
PARTITION p4 VALUES LESS THAN MAXVALUE
);
Возвращается предупреждение: #1564 - This partition function is not allowed
, так в чем же проблема? спасибо.
UPDATE
изменить date
в int NOT NULL
и PARTITION BY RANGE MINUTE(date)
в PARTITION BY RANGE COLUMNS(date)
CREATE TABLE test (
`id` int unsigned NOT NULL auto_increment,
`words` varchar(100) collate utf8_unicode_ci NOT NULL,
`date` int NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `index` (`words`)
)
ENGINE=MyISAM
DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci
AUTO_INCREMENT=0
PARTITION BY RANGE COLUMNS(`date`)
(
PARTITION p0 VALUES LESS THAN (1322644000),
PARTITION p1 VALUES LESS THAN (1322644600) ,
PARTITION p2 VALUES LESS THAN (1322641200) ,
PARTITION p3 VALUES LESS THAN (1322641800) ,
PARTITION p4 VALUES LESS THAN MAXVALUE
);
затем вызвал новую ошибку: #1214 - The used table type doesn't support FULLTEXT indexes