検索

ホームページ  >  に質問  >  本文

mysql索引 - MySQL:索引是否需要整理维护?

每月定期需要对数据进行大量的删除操作,想请教这样操作后对索引是否有影响,是否需要在删除操作完成后对索引进行更新之类的操作

如果需要的话这方面的内容搜索哪些关键字呢?

高洛峰高洛峰2875日前712

全員に返信(1)返信します

  • 大家讲道理

    大家讲道理2017-04-17 16:14:39

    使用できますOPTIMIZE定期的なカスタマイズ表、星期または毎月、具体的には以下を参照できます
    http://dev.mysql.com/doc/refm...

    自官网の説明の抜粋

    テーブルの種類に応じて、次の場合に OPTIMIZE TABLE を使用します。


    innodb_file_per_table オプションを有効にして作成されたため、独自の .ibd ファイルを持つ
    InnoDB テーブルに対して大幅な挿入、更新、または削除操作を行った後。テーブルとインデックスが再編成され
    、ディスク領域をオペレーティング
    システムで使用できるように再利用できます。

    InnoDB テーブルの FULLTEXT インデックスの一部である
    列に対して実質的な挿入、更新、または削除操作を行った後。まず
    構成オプション innodb_optimize_fulltext_only=1 を設定します。
    インデックスのメンテナンス期間を適切な時間に維持するには、
    innodb_ft_num_word_optimize オプションを設定して検索インデックス内で更新する単語の数を指定し
    、検索が終わるまで一連の OPTIMIZE TABLE ステートメントを実行します
    インデックスが完全に更新されました。

    MyISAM または ARCHIVE テーブルの大部分を削除した後、または
    可変長行を持つ MyISAM または ARCHIVE テーブルに多くの変更を行った後
    (VARCHAR、VARBINARY、BLOB、または TEXT 列を持つテーブル) 。削除された
    行はリンクされたリストに保持され、後続の INSERT 操作
    は古い行の位置を再利用します。 OPTIMIZE TABLE を使用すると、
    未使用スペースを再利用し、データ ファイルを最適化できます。テーブルに大規模な変更を加えた後
    、このステートメントにより、そのテーブルを使用するステートメント
    のパフォーマンスも向上し、場合によっては大幅に向上する可能性があります。

    返事
    0
  • キャンセル返事