mysqlテーブルの最適化、分析、検査、修復方法の詳細

2463 ワード

この例ではmysqlテーブルの最適化、分析、検査、修復方法について説明します.皆さんの参考にしてください.具体的には以下の通りです.
ここでは、データベースの管理の一般として、予防的なメンテナンスと、問題が発生した内容の修復について説明します.
通常、検査と修復には4つの主要なタスクがあります.
1.テーブルの最適化
2.テーブルの分析(MyISAMとBBBテーブルにおけるキーの分布の分析と格納)
3.テーブルをチェックする(テーブルのエラーをチェックし、MyISAMのキーの統計を更新する)
4.表の修復(破壊されたMyISAM表の修復)
一、テーブルの最適化
最適化テーブルには、OPTIMIZE TABLE文、mysqlcheckツール(サーバが実行される)、myisamchk(サーバが実行されていないか、テーブルにインタラクティブではない)の実装方法がたくさんあります.
最適化の理由MySQLの使用に伴い、BLOBやVARCHARバイトを含むテーブルは冗長になります.これらのフィールドの長さが異なるため、レコードを挿入、更新、削除する際には、異なるサイズのスペースを占有し、レコードが破片になり、空きスペースが残ります.断片化されたディスクのように、パフォーマンスが低下し、整理が必要になるため、最適化する必要があります.
1.OPTIMIZE文によるテーブルの最適化

# mysql>OPTIMIZE TABLE   


これにより、テーブル名が最適化されます.
2.mysqlcheckによるテーブルの最適化
mysqlcheckは最適化のほか、大量の検査と修復タスクを実行できます.

# mysqlcheck -o         -uroot -p111111 (   )
# mysqlcheck -o        1   2 -uroot -p111111 (   )
# mysqlcheck -o      -uroot -p111111 (      )


3.myisamchkによるテーブルの最適化

# myisamchk --quick --check-only-changed --sort-index --analyze   
# myisamchk -r    (  -r        ,           )
# myisamchk -r /usr/local/mysql/data/testblog/article (        )


以上の操作は、サーバが停止している場合やサーバと相互操作していない場合にmyisamchkコマンドラインツールを使用します(サーバが実行中の場合は、この文を実行する前にmysqladmin flush-tablesを使用してテーブルをリフレッシュします.サーバがテーブルと相互操作していないことを確認してください.そうしないと障害が発生します).myisamchkは最も古い方法です.myisamchkを正しい場所で実行するか、テーブルが存在するパスを指定する必要があります.
注意:最適化中にテーブルがロックされるため、忙しいときに最適化操作を行わないでください.同様に、OPTIMIZE TABLEを行うには十分なスペースが必要です.ディスク容量がない場合、MySQLは最適化できず、テーブルも使用できません.
最適化は、MyISAMテーブルを含むデータベースの通常の管理トランザクションの重要な一環であり、定期的に行う必要があります.
二、表を分析する
テーブルの定期的な分析は、パフォーマンスを改善し、通常のメンテナンス作業の一部になるはずです.テーブルのインデックス情報を更新してテーブルを分析することで、データベースのパフォーマンスが向上します.
表を分析するには、次の3つの方法があります.
1.MySQLに接続する場合、ANALYZE TABLE文を使用
2.mysqlcheckコマンドラインツールを使用する(サーバは実行する必要があり、MyISAMテーブルのみに機能する)
3.myisamchkコマンドラインツールを使用する(サーバが実行されるべきではない、または操作されたテーブルに対して相互操作が発生していない)

# ANALYZE TABLE   ;
# mysqlcheck -a         -uroot -p111111
# mysqlcheck -a        1   2 -uroot -p111111


分析操作がサポートされていないテーブルを分析しようとすると(InnoDBなど)、操作はできません.

# myisamchk -a /usr/local/mysql/data/   /  


MySQLに関する詳細について興味のある読者は、「MySQL事務操作技術要約」、「MySQLストレージプロセス技術大全」、「MySQLデータベースロックに関する技術要約」および「MySQL常用関数大要約」を参照してください.
本明細書では、MySQLデータベース・メーターについて説明します.