在我已经有一堆记录之后,我在我的三个列上添加了一个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