MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

4.6.4.5 myisamchk によるテーブル情報の取得

MyISAM テーブル情報またはそれに関する統計を取得するには、次に示すコマンドを使用します。 これらのコマンドの出力は、このセクションのあとの方で説明します。

tbl_name 引数は、セクション4.6.4「myisamchk — MyISAM テーブルメンテナンスユーティリティー」で説明するように、MyISAM テーブルの名前か、またはそのインデックスファイル名のいずれかです。 複数の tbl_name 引数を指定できます。

person という名前のテーブルの構造が、次のようになっているとします。 (あとに示す myisamchk からの出力例で、一部の値がより小さく、出力形式に適合しやすいように、MAX_ROWS テーブルオプションが含まれます。)

CREATE TABLE person
(
  id         INT NOT NULL AUTO_INCREMENT,
  last_name  VARCHAR(20) NOT NULL,
  first_name VARCHAR(20) NOT NULL,
  birth      DATE,
  death      DATE,
  PRIMARY KEY (id),
  INDEX (last_name, first_name),
  INDEX (birth)
) MAX_ROWS = 1000000 ENGINE=MYISAM;

また、テーブルのデータファイルおよびインデックスファイルのサイズは次のようになっているとします。

-rw-rw----  1 mysql  mysql  9347072 Aug 19 11:47 person.MYD
-rw-rw----  1 mysql  mysql  6066176 Aug 19 11:47 person.MYI

myisamchk -dvv の出力例:

MyISAM file:         person
Record format:       Packed
Character set:       utf8mb4_0900_ai_ci (255)
File-version:        1
Creation time:       2017-03-30 21:21:30
Status:              checked,analyzed,optimized keys,sorted index pages
Auto increment key:              1  Last value:                306688
Data records:               306688  Deleted blocks:                 0
Datafile parts:             306688  Deleted data:                   0
Datafile pointer (bytes):        4  Keyfile pointer (bytes):        3
Datafile length:           9347072  Keyfile length:           6066176
Max datafile length:    4294967294  Max keyfile length:   17179868159
Recordlength:                   54

table description:
Key Start Len Index   Type                     Rec/key         Root  Blocksize
1   2     4   unique  long                           1                    1024
2   6     80  multip. varchar prefix                 0                    1024
    87    80          varchar                        0
3   168   3   multip. uint24 NULL                    0                    1024

Field Start Length Nullpos Nullbit Type
1     1     1
2     2     4                      no zeros
3     6     81                     varchar
4     87    81                     varchar
5     168   3      1       1       no zeros
6     171   3      1       2       no zeros

myisamchk が生成する情報のタイプについて次に説明します。 Keyfile とはインデックスファイルのことです。 レコードフィールドカラムは、それぞれシノニムです。

テーブル情報の最初の部分には次の値が含まれます。

出力の table description の部分にはテーブルのすべてのキーのリストが含まれます。 myisamchk は、それぞれのキーについて低レベル情報を表示します。

出力の最後の部分は、各カラムの情報を示します。

Huff tree フィールドおよび Bits フィールドは、テーブルが myisampack で圧縮されている場合に表示されます。 この情報の例は、セクション4.6.6「myisampack — 圧縮された読み取り専用の MyISAM テーブルの生成」を参照してください。

myisamchk -eiv の出力例

Checking MyISAM file: person
Data records:  306688   Deleted blocks:       0
- check file-size
- check record delete-chain
No recordlinks
- check key delete-chain
block_size 1024:
- check index reference
- check data record references index: 1
Key:  1:  Keyblocks used:  98%  Packed:    0%  Max levels:  3
- check data record references index: 2
Key:  2:  Keyblocks used:  99%  Packed:   97%  Max levels:  3
- check data record references index: 3
Key:  3:  Keyblocks used:  98%  Packed:  -14%  Max levels:  3
Total:    Keyblocks used:  98%  Packed:   89%

- check records and index references
*** LOTS OF ROW NUMBERS DELETED ***

Records:            306688  M.recordlength:       25  Packed:            83%
Recordspace used:       97% Empty space:           2% Blocks/Record:   1.00
Record blocks:      306688  Delete blocks:         0
Record data:       7934464  Deleted data:          0
Lost space:         256512  Linkdata:        1156096

User time 43.08, System time 1.68
Maximum resident set size 0, Integral resident set size 0
Non-physical pagefaults 0, Physical pagefaults 0, Swaps 0
Blocks in 0 out 7, Messages in 0 out 0, Signals 0
Voluntary context switches 0, Involuntary context switches 0
Maximum memory usage: 1046926 bytes (1023k)

myisamchk -eiv の出力には、次の情報が含まれます。