MySQLの全文インデックス(FullTextーIndex)を初期移行時の注意点
MySQLのMyISAMには、全文検索(FullTextーIndex)がありますが、
初期移行時には注意が必要です。
テーブルを作成する際に、FullTextインデックスも作成すると、
初期データロード時に時間がかかり過ぎて終わりません。
おそらくデータInsert時に毎回インデックスを作り直しているからです。
FULLTEXT インデックスを作成しない状態でテーブルを作成し、大量のデータを読み込んだ後に、
インデックスを作るようにします。
そうすると、FULLTEXTインデックスの作成も数分で終わります。
大きなデータセットに関しては、FULLTEXT インデックスを持たないテーブルにロードし、
その後でインデックスを作成するほうが、すでに FULLTEXT インデックスを持つテーブルにロードするよりも断然速く読み込めます。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.9 全文検索関数
反省点
MySQLのマニュアルに書いてあったのに気づかなかった。
一日以上の時間をこれに費やしてしまった。
問題が起こったときは、
どこに問題があるのかしっかり考え、原因を突き止めてから次の手を考える。
問題の原因を突き止めるときは、大きい部分から徐々に小さいところへ詰めていくように気をつけよう。
闇雲にいろんな手を試したりしてると、問題の原因がどこなのかわからなくなる。