ОШИБКА 1491 (HY000): функция PARTITION возвращает неправильный тип - PullRequest
0 голосов
/ 20 февраля 2019

mytable вот так:

 CREATE TABLE `test1` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `project_id` int(11) NOT NULL,
  `md5` varchar(255) NOT NULL,
  `create_time` datetime NOT NULL,
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`,`project_id`,`md5`),
  KEY `index_id` (`md5`),
 ) ;

Я хочу разделить по md5.поэтому я создаю функцию:

   alter table test1 partition by HASH(FLOOR(`md5`)) PARTITIONS 5;

, но она не удалась:

    ERROR 1491 (HY000) The PARTITION function returns the wrong type

большое спасибо!

1 Ответ

0 голосов
/ 04 марта 2019

FLOOR ожидает числовой аргумент.Если строка MD5 равна c51ce410c124a10e0db5e4b97fc2af39, то это значение равно 0. Почти половина md5 будет рассматриваться как ноль.

Хэширование практически бесполезно.Это, безусловно, не обеспечит никакой производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...