無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 7 クライアントプログラムとユーティリティ プログラム :: 7.4 myisamchk ? MyISAM テーブル メンテナンス ユーティリティ :: 7.4.1 myisamchk 一般的なオプション
« 7.4 myisamchk ? MyISAM テーブル メンテナンス ユーティリティ

7.4.2 myisamchk チェック オプション »
Section Navigation      [Toggle]
  • 7.4 myisamchk ? MyISAM テーブル メンテナンス ユーティリティ
  • 7.4.1 myisamchk 一般的なオプション
  • 7.4.2 myisamchk チェック オプション
  • 7.4.3 myisamchk修復オプション
  • 7.4.4 他の myisamchk オプション
  • 7.4.5 myisamchkメモリ使用量

7.4.1. myisamchk 一般的なオプション

このセクションで紹介されているオプションは myisamchk によって実行される全てのテーブル メンテナンス オペレーションに使用することができます。このセクション以降のセクションは特定のオペレーションに関するオプションのみを説明します。例えば、テーブルのチェックや修復。.

  • --help, -?

    ヘルプ メッセージを表示し、閉じます。

  • --debug=debug_options, -# debug_options

    デバッグのログを書き込みます。debug_options 文字列は大抵 'd:t:o,file_name'になります。

  • --silent, -s

    サイレントモード。エラーが発生したときのみアウトプットを書き込みます。-s は myisamchk を非常にサイレントにするため2回(-ss) 使用することができます。

  • --verbose, -v

    Verbose モードプログラムの動作についてさらに情報をプリントアウトする。これは -d と -e と共に使用することができます。さらに出力を得るため、-v を複数回(-vv、-vvv) 使用してください

  • --version, -V

    バージョン情報を表示し、閉じます。

  • --wait, -w

    テーブルがロックされている場合に、エラーとして消去するよりも、再開はテーブルがアンロックされるまで待ってください。外部ロックを無効の状態で mysqld を起動している場合、テーブルは myisamchk コマンドを使用することでのみ、ロックすることができます。

--var_name=value 構文を使用することで以下の構文をセットすることができます。

変数 デフォルト値
decode_bits 9
ft_max_word_len version-dependent
ft_min_word_len 4
ft_stopword_file built-in list
key_buffer_size 523264
myisam_block_size 1024
read_buffer_size 262136
sort_buffer_size 2097144
sort_key_blocks 16
stats_method nulls_unequal
write_buffer_size 262136

可能な myisamchk 変数とデフォルト値は myisamchk --help で確認することができます。

sort_buffer_size はソートキーでキーが修復された場合に使用されます。これは --recover を使用した場合は普通です。

key_buffer_size は --extend-check でテーブルをチェックするとき、もしくはテーブルに行ごとにキーを入力することでキーを修復する際に使用されます(普通にインサートする場合の様に)。キーバッファを通しての修復は以下の場合使用されます。

  • --safe-recover を使用する場合。

  • キーのソートに必要なテンポラリ ファイルは直接キーファイルを作成する際よりも、倍の大きさとなります。これは CHAR、VARCHAR、もしくは TEXT カラムに大きなキー値が与えられている場合によくあります。これは、進行するにつれてソート オペレーションは完全なキー値を記憶する必要があるからです。テンポラリ スペースに余裕があり、myisamchk を使用して強制的にソートすることで修復する場合、--sort-recover オプションを使用することができます。

キーバッファを使用して修復するのはソートよりもはるかにディスクの空き容量に余裕を持たせることができますが、速度も落ちます。

修復スピードを早くする場合、key_buffer_size と sort_buffer_size 変数を使用できるメモリの25%にセットしてください。同時に使用されることは無いので、双方の変数の値を大きくセットすることができます。

myisam_block_size はインデックス ブロックに使用されるサイズです。

stats_method は NULL 値が、--analyze オプションを与えられたときに、インデックス統計の集計の際にどう扱われるかに影響します。myisam_stats_method システム変数のような働きをします。詳しくは、in 項4.2.3. 「システム変数」 と 項6.4.7. 「MyISAMインデックス統計コレクション」に含まれる myisam_stats_method の詳細を参照してください。

ft_min_word_len と ft_max_word_len は FULLTEXT インデックスの最低と最高文字長を指します。 ft_stopword_file はストップワードファイルに名前をつけます。以下の状態でこれらをセットしなければいけません。

myisamchk を使用してテーブル インデックスを改良するオペレーションを実行する場合、(例えば分析や修復)他に特定されない場合、FULLTEXT インデックスはデフォルト フル テキスト パラメータ値を、最低・最高文字長とストップワードファイルを使用して再構築されます。これはクエリの失敗につながることがあります。

この問題は、パラメータがサーバのみに理解されていることにより発生します。MyISAM インデックスファイルには記憶されていません。サーバ内の最低・最高文字長もしくはストップワードファイルを改良した上で、問題を回避するには、ft_min_word_len, ft_max_word_lenとft_stopword_file の値を mysqld で使用する myisamchk に特定してください。例えば、最低文字長を3にセットした場合、テーブルは myisamchk で以下の様に修復できます。

shell> myisamchk --recover --ft_min_word_len=3 tbl_name.MYI

myisamchk とサーバがフル テキスト パラメータに同じ値を確実に使用するには、それぞれオプションファイルの [mysqld] と[myisamchk] セクションに置いてください。

[mysqld]
ft_min_word_len=3

[myisamchk]
ft_min_word_len=3

myisamchk を使用する代わりに、REPAIR TABLE、ANALYZE TABLE、OPTIMIZE TABLE、もしくは ALTER TABLE を使用することができます。これらのステートメントは、正しいフル テキスト パラメータ値を理解しているサーバによって実行されます。

Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.