Я задал этот вопрос вчера на dba.stackexchange.com и не получил никаких ответов, поэтому я пытаюсь здесь.
Яполучение MySQL 1032 «Не удается найти запись в« лице »» для некоторых запросов в моей базе данных, и я не могу их устранить.
Вот таблица:
CREATE TABLE `person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`last_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`first_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`dob` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `person_full_idx` (`last_name`,`first_name`,`title`)
) ENGINE=InnoDB AUTO_INCREMENT=4448 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Запрос, которыйсбой равен
SELECT * FROM person p0_
WHERE MATCH (p0_.last_name , p0_.first_name , p0_.title) AGAINST ('anne' IN BOOLEAN MODE) > 0.5
ORDER BY p0_.last_name ASC, p0_.first_name ASC, p0_.dob ASC;
Если я уберу какой-либо из пунктов по предложениям, запрос выполняется просто отлично.И если я поменяю anne на anna, запрос выполняется нормально со всеми тремя предложениями order by.В таблице есть несколько Annes, примерно столько же, сколько Annas.
В журнале ошибок MySQL есть куча таких сообщений об ошибках при каждом сбое запроса:
2019-03-27T17:31:27.891405Z 9 [Warning] [MY-012853] [InnoDB] Using a
partial-field key prefix in search, index `FTS_DOC_ID_INDEX` of table
`database`.`person`. Last data field length 8 bytes, key ptr now
exceeds key end by 4 bytes. Key value in the MySQL format:
len 4; hex 05110000; asc ;
I 'Я не использую репликацию, и вставки, обновления и удаления все успешно для записей anne.Я удалил и пересоздал полнотекстовый индекс без улучшений.Я сбросил и перезагрузил базу данных и получил ту же ошибку.
Запрос не вызывает сбоев в работе (mysql Ver 15.1 Distrib 10.1.37-MariaDB) с теми же данными.Насколько я могу судить, это происходит только на моем компьютере разработчика (mysql Ver 8.0.15 для osx10.14 на x86_64 (Homebrew)).
Что мне попробовать дальше?