MySQL 8.0 リファレンスマニュアル


4.6.4.4 その他の myisamchk オプション

myisamchk はテーブルチェックおよび修復以外のアクションのために、次のオプションをサポートします。

  • --analyze, -a

    キー値の分布を分析します。 これは、結合オプティマイザが、テーブルを結合する順番と、それが使用するインデックスをより適切に選択できるようにすることで、結合パフォーマンスを向上させます。 キー分布に関する情報を取得するには、myisamchk --description --verbose tbl_name コマンドまたは SHOW INDEX FROM tbl_name ステートメントを使用します。

  • --block-search=offset, -b offset

    指定されたオフセットのブロックが属するレコードを検索します。

  • --description, -d

    テーブルの説明情報を出力します。 --verbose オプションを一回または二回使用すると、追加情報が生成されます。 セクション4.6.4.5「myisamchk によるテーブル情報の取得」を参照してください。

  • --set-auto-increment[=value], -A[value]

    新しい行に対する AUTO_INCREMENT の番号付けを、指定した値 (または、AUTO_INCREMENT 値がこの値と同じであるレコードが存在する場合は、それより大きい値) で開始するように強制します。 value が指定されていない場合は、新しいレコードの AUTO_INCREMENT の数字は現在テーブル内にあるもっとも大きい値 +1 で開始します。

  • --sort-index, -S

    インデックスツリーブロックを降順でソートします。 これはシークを最適化し、インデックスを使用するテーブルスキャンを高速化します。

  • --sort-records=N, -R N

    特定のインデックスに基づいてレコードをソートします。 これにより、データが大幅に局所に集中化されるため、このインデックスを使用する、範囲に基づいた SELECT または ORDER BY 操作が高速化する可能性があります。 (テーブルのソートにはじめてこのオプションを使用する場合、かなり遅い場合があります。) テーブルのインデックス番号を決定するには、myisamchk が認識するのと同じ順序でテーブルのインデックスを表示する SHOW INDEX を使用してください。 インデックスの番号は 1 から始まります。

    キーがパックされていない場合 (PACK_KEYS=0)、長さが同じであるため、myisamchk がレコードをソートして移動する際、インデックスのレコードオフセットを上書きするだけです。 キーがパックされている場合 (PACK_KEYS=1)、myisamchk はまずキーブロックをアンパックし、次にインデックスを再作成してキーブロックをパックする必要があります。 (この場合、各インデックスのオフセットを更新するよりも、インデックスを再作成する方が早くなります。)


関連キーワード:  テーブル, プログラム, myisamchk, インデックス, サーバー, 情報, 表示, キー, レコード, コマンド