web-dev-qa-db-ja.com

search_indexテーブルとsearch_datasetテーブルの用途は何ですか。それらをクリーンアップできますか?

ローカル開発サイトから本番サーバーにSQLをダンプしようとしています。これら2つのテーブルのsearch_indexとsearch_datasetが大きく、sqlファイルが本当に大きくなっていることがわかりました。

これらの2つのテーブルは、後でいつでも最初からインデックスを再作成できる検索インデックスを格納するためのものだと思います。間違っていれば訂正してください。

だからそれらのすべてのレコードを削除しても大丈夫/安全ですか?次に、データベースをエクスポートし、サーバーにインポートします。これにより、ダンプファイルのファイルサイズを小さくすることができます。

ありがとう!

8
gilzero

これらのテーブルは、コアの検索モジュールによって提供されるように、サイトの検索機能によって使用されます。それらはあなたのサイトのコンテンツから構築されており、 search_schema() のコードの説明はこう言います:

  • search_dataset-"検索されるアイテムを格納します"
  • search_index-"単語、アイテム、スコアを関連付けて検索インデックスを保存します"

これらのテーブルの内容を無視/トランケートしてデータベースダンプを小さく保つことはできますが、サイトのコンテンツのインデックスが再作成されると、cronの実行中に再作成されます。サイトに大量のコンテンツがある場合、再構築に時間がかかる可能性があることに注意してください。

テーブルおよび/またはその内容は無視できることに加えて、スケジュールされたダンプを実行し、さまざまなエクスポート/インポートプロファイルを使用できるため、 バックアップおよび移行モジュール はコマンドラインMySQLよりもはるかに便利です。

10
Jim Kirkpatrick