MySQL: полнотекстовая индексация предыдущих записей? - PullRequest
1 голос
/ 03 мая 2009

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

Ответы [ 2 ]

5 голосов
/ 03 мая 2009

Когда вы выполняете команду 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.

1 голос
/ 03 мая 2009

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

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

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

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

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