web-dev-qa-db-ja.com

MySQLフルテキストインデックスを使用したスロー挿入

MySQLテーブルでフルテキストインデックスを使用しており、このテーブルへの各挿入には約3秒かかります。 MySQLは各挿入/更新後にフルテキストインデックスの一部を再構築しているようです。これは正解?

テーブルには、約30のvarcharおよびtextフィールド、varchar-fieldsのいくつかのインデックス、および3つのフィールドtitle_text (char(255)), content_text (text), author_text (char(255))のフルテキストインデックスがあります。テーブルは約210.000行で、テーブルサイズは約2.5 GB、インデックスサイズは約0.5 GBです。挿入クエリは、すべての新しい行に対して実行されます(すべての挿入に対する結合クエリはありません)。

INSERTのパフォーマンスを向上させるにはどうすればよいですか? MySQLがフルテキストインデックスを再構築するときに設定するオプションはおそらくありますか?

4
Timo

早くする必要はありません。

  1. ALTER TABLE mydb.datafulltxt DISABLE KEYS;
  2. INSERTsを多数実行してmydb.datafulltxt
  3. ALTER TABLE mydb.datafulltxt ENABLE KEYS;
  4. 必要に応じて繰り返します。
1
user1430749