ホームページ >データベース >mysql チュートリアル >MySQL でのテーブルスペースの断片化をクリアする詳細な例
断片化の原因
mysql チュートリアル"
mysql> SHOW TABLE STATUS LIKE '表名';結果の「Data_free」カラムの値がフラグメントサイズです (2) 一覧フラグメント化されているすべてのテーブル
mysql> select table_schema db, table_name, data_free, engine from information_schema.tables where table_schema not in ('information_schema', 'mysql') and data_free > 0;テーブルのフラグメントをクリアする (1) MyISAM テーブル
mysql> optimize table 表名(2) InnoDB テーブル
mysql> alter table 表名 engine=InnoDBエンジンが異なると、インデックスとデータが分離されているため、OPTIMIZE 操作も異なります。データファイルを整理し、インデックスを再配置する OPTIMIZE 操作はテーブルを一時的にロックするため、データ量が増えると時間がかかるため、単純なクエリ操作ではありません。設定に関係なく最適化コマンドをプログラムに組み込む どんなにヒット率が低くても、アクセス数が増えれば全体のヒット率も上がり、実行効率に大きな影響を与えることは間違いありません。より良い方法は、シェルで mysql の
information_schema.TABLES フィールドを定期的にチェックし、DATA_FREE フィールドをチェックすることです。それが 0 より大きい場合は、断片化があることを意味します
クリアの操作です。フラグメントはテーブルを一時的にロックします。データの量が増えると、実行に時間がかかります。たとえば、毎週水曜日の早朝に DATA_FREE フィールドをチェックします。思った警告値より大きい場合は、一度清掃してください。関連する推奨事項:
mysql-MySQL テーブルスペースのクリア問題 (バージョン 5.6)Mysql クエリキャッシュの断片化、キャッシュヒット率、Nagios の監視
mysql テーブルの断片化の原因の分析とクリーニングup _PHP チュートリアル
以上がMySQL でのテーブルスペースの断片化をクリアする詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。