私は、データベース内のテーブルを見て、必要なものを修復する cronjob になるスクリプトに取り組んでいます。これらは、mysql データベース内の myisam テーブルです。myisamchk
私の質問は、コマンドラインとREPAIR TABLE
クエリ構文で構文を使用する理由はありますか?
myisam のドキュメント ページ http://dev.mysql.com/doc/refman/5.0/en/myisamchk.htmlでは、必要なすべてのテーブルを修復する方法としてこれを提供しています。
myisamchk --silent --force --fast --update-state \
--key_buffer_size=64M --sort_buffer_size=64M \
--read_buffer_size=1M --write_buffer_size=1M \
/path/to/datadir/*/*.MYI
を使用する場合とは異なる結果になりますか
REPAIR TABLE tablename
私のすべてのテーブルで?私はphpでプログラム的にそれを行い、(疑似コード)のようなものになります
$tables=query("SELECT table from information_schema.tables where table_schema='myDBName'");
foreach($tables as $table)
{
$result=query("REPAIR TABLE ".$table);
}
何らかの方法でそれを行うことの実用性について意見はありますが、実際の最終結果は異なるでしょうか? ありがとう。
必要に応じて、動作する (疑似ではない) php コードを提供できますが、それが必要だとは思いませんでした。私が疑似コードを使用している理由は、職場で db アクセスに独自のラッパーを使用しているためです。