何千ものデータを持つテーブルがあります。テーブルに自動修復を設定したい。mysql は自動修復をサポートしますか? 構文は何ですか
1503 次
2 に答える
2
テーブルの修復とチェックに関しては、MySQL には 2 つのオプションがあります。
- MySQL ディストリビューションには、MyISAM テーブル (MySQL で使用されるデフォルトのテーブル タイプ) をチェックおよび修復するために特別に設計された「 myisamchk 」と呼ばれるツールが同梱されています。このツールは、データベースをスキャンし、問題を特定し、ルックアップを高速化するためにテーブルを最適化し、オプションで破損したテーブルを修復できます。myisamchk ツールは、コマンド ラインから呼び出されます。
上記のツールに加えて、MySQL では SQL コマンドを使用してテーブルをチェックおよび修復することもできます。CHECK TABLE、REPAIR TABLE、および OPTIMIZE TABLE コマンドは、実行中の MySQL サーバーで使用でき、MySQL クライアントから入力する必要があります。
例: 修復 [NO_WRITE_TO_BINLOG | LOCAL] TABLE tbl_name [, tbl_name] ... [クイック] [拡張] [USE_FRM]
ほとんどの場合、SQL コマンドを使用するよりもはるかに高速であるため、myisamchk を使用することをお勧めします。
修理の「自動」部分に関しては、テーブルの修理を習慣にしないことをお勧めします。漏れから水を取り除くためのポンプを探しているようですね。明らかなことは、リークと問題の原因を修正することではないでしょうか?
メモリを大量に消費する機能を削除するか、サーバーをアップグレードしてください。破損したテーブルを自動修復するためにスクリプトなどに依存することはお勧めできません。
于 2012-07-10T12:20:00.953 に答える
0
于 2012-07-10T09:54:37.803 に答える