MySQL: полнотекстовая индексация предыдущих записей?

StackOverflow https://stackoverflow.com/questions/816819

  •  03-07-2019
  •  | 
  •  

Вопрос

Я добавил индекс FULLTEXT для трех моих столбцов после того, как у меня уже была куча записей ... означает ли это, что FULLTEXT не будет индексировать их и будет только индексировать записи, вставленные после добавления индекса FULLTEXT? Если так, в любом случае переиндексировать всю базу данных?

Это было полезно?

Решение

Когда вы выполняете команду ALTER TABLE ADD INDEX, старые записи немедленно индексируются (и новые записи индексируются сразу после их вставки). Это верно и для индексов FULLTEXT.

Обратите внимание, что иногда (например, когда вы изменяете параметры ft_min_word_len, ft_max_word_len или ft_stopword_file), вам необходимо перестроить индекс FULLTEXT, см. http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html для получения подробной информации.

Другие советы

Ответственность за соответствие индексов данным, которые они индексируют, лежит на MySQL, а не на вас.

Когда вы добавляете индекс для существующих данных, MySQL строит индекс в соответствии с этими существующими данными.

FULLTEXT-индексы не являются исключением.

Вам нужно будет перестроить индекс только в том случае, если вы подозреваете, что ваша таблица каким-то образом повреждена или вы внесли некоторые другие дополнительные изменения в способ, которым MySQL строит свои индексы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top