MySQL FULLTEXT проблема индексов - PullRequest
29 голосов
/ 08 июня 2009

Я пытаюсь создать индекс FULLTEXT для атрибута таблицы. Mysql возвращает

ОШИБКА 1214: используемый тип таблицы не поддерживает индексы FULLTEXT.

Есть идеи, что я делаю не так?

Ответы [ 5 ]

55 голосов
/ 08 июня 2009

Вы используете неверный тип таблицы. Mysql поддерживает несколько различных типов таблиц, но чаще всего используются MyISAM и InnoDB. MyISAM (в MySQL 5.6 + также таблицы InnoDB) - это типы таблиц, которые Mysql поддерживает для полнотекстовых индексов.

Чтобы проверить тип таблицы, введите следующий SQL-запрос:

SHOW TABLE STATUS

Глядя на результат, возвращенный запросом, найдите вашу таблицу и соответствующее значение в столбце Engine. Если это значение равно MyISAM или InnoDB, Mysql выдаст ошибку, если вы попытаетесь добавить индексы FULLTEXT.

Чтобы исправить это, вы можете использовать SQL-запрос ниже, чтобы изменить тип движка:

ALTER TABLE <table name> ENGINE = [MYISAM | INNODB]

Дополнительная информация (возможно, она будет полезна): Mysql использует различные типы хранилищ движка для оптимизации необходимой функциональности конкретных таблиц. Пример MyISAM является типом по умолчанию для операционных систем (кроме окон), он быстро преобразует SELECT и INSERT; но не обрабатывает транзакции. InnoDB по умолчанию для окон, может использоваться для транзакций. Но InnoDB требует больше дискового пространства на сервере.

10 голосов
/ 06 марта 2013

Вплоть до MySQL 5.6 MyISAM была единственным механизмом хранения с поддержкой полнотекстового поиска (FTS), но верно, что InnoDB FTS в MySQL 5.6 синтаксически идентичен MyISAM FTS. Пожалуйста, прочитайте ниже для более подробной информации.

Полнотекстовый поиск InnoDB в MySQL 5.6

7 голосов
/ 08 июня 2009

В руководстве mysql говорится, что индексы FULLTEXT могут быть созданы только для таблиц с механизмом mylsam.

5 голосов
/ 08 июня 2009

Вы используете InnoDB? Единственный тип таблицы, который поддерживает FULLTEXT - это MyISAM.

1 голос
/ 25 марта 2016

кроме таблицы MyISAM PARTITIONING также не поддерживает индекс full-text.

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