Question

J'ai ajouté un index FULLTEXT à trois de mes colonnes, après avoir déjà eu plusieurs enregistrements ... cela signifie-t-il que FULLTEXT ne les indexera pas et indexera uniquement les enregistrements insérés après l'ajout de l'index FULLTEXT? Si oui, de toute façon, réindexer toute la base de données?

Était-ce utile?

La solution

Lorsque vous modifiez ALTER TABLE ADD INDEX, les anciens enregistrements sont immédiatement indexés (et les nouveaux enregistrements sont indexés dès qu’ils sont insérés). Cela vaut également pour les index FULLTEXT.

Notez cependant que parfois (par exemple, lorsque vous modifiez les options ft_min_word_len, ft_max_word_len ou ft_stopword_file), vous devez reconstruire un index FULLTEXT, voir http://dev.mysql.com/doc/refman/5.1/en/fulltext-fine-tuning.html pour plus de détails.

Autres conseils

C'est à MySQL et non à vous de veiller à ce que les index soient cohérents avec les données qu'ils indexent.

Lorsque vous ajoutez un index sur des données existantes, MySQL le construit en fonction de ces données existantes.

Les index FULLTEXT ne font pas exception.

Vous ne devriez avoir besoin de reconstruire un index que si vous pensez que votre table a été corrompue ou si vous avez fait quelques ajustements avancés de la manière dont MySQL construit ses index.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top