MySQL:以前のレコードのフルテキストインデックス作成?
-
03-07-2019 - |
質問
レコードの束が既にある後、3つの列に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がインデックスを構築する方法をさらに微調整した場合にのみ、インデックスを再構築する必要があります。
所属していません StackOverflow