Администрирование пакета MySQL - Подробно о таблицах

ОГЛАВЛЕНИЕ

Подробно о таблицах

Для получения описания таблицы используйте команду (Вы должны перейти в каталог, который содержит таблицу, информацию о которой Вы желаете получить. Вообще это будет $DATADIR/[dbname], где dbname - имя базы данных, которая содержит таблицу.):

prompt> isamchk -d table_name

ISAM file:     table_name
Data records:               215  Deleted blocks:              0
Recordlength:                85
Record format: Packed

table description:
Key Start Len Index   Type
1   37    14  unique  text packed stripped
2   1     30  multip. text packed stripped
3   51    4   multip. long
4   31    2   multip. short
    33    2           short
    35    2           short

Для более подробных сведений о таблице попробуйте:

prompt> isamchk -d -v table_name

ISAM file:     Customer
Isam-version:  2
Creation time: 1996-12-17 21:40:04
Data records:                 0  Deleted blocks:              0
Datafile: Parts:              0  Deleted data:                0
Datafilepointer (bytes):      4  Keyfile pointer (bytes):     3
Recordlength:               374
Record format: Packed

table description:
Key Start Len Index   Type                       Root  Blocksize    Rec/key
1   2     2   unique  short                        -1       1024          1
2   4     80  multip. text packed stripped         -1       1024          1
3   2     2   multip. short                        -1       1024          1

Объяснение полученного результата:

ISAM file Имя ISAM-файла.
Isam-version Версия ISAM формата. Сейчас всегда 2.
Creation time Когда файл данных был создан?
Recover time Когда в последний раз был восстановлен файл индекса/данных?
Data records Сколько записей/строк.
Deleted blocks Сколько удаленных блоков все еще занимают место? См. примеры в разделе по isamchk для информации относительно избавления от неиспользуемого места.
Datafile: Parts Для динамической записи это показывает, сколько блоков данных в ней. Для оптимизированной таблицы без дырок это будет то же, что и Data records.
Deleted data Сколько всего байт занимают удаленные данные.
Datafilepointer Сколько байтов занимает указатель файла данных? Это 2, 3 или 4 байта. Большинство таблиц обходится 2 байтами, но это не может управляться из MySQL. Для фиксированных таблиц это адрес записи. Для динамических таблиц это адрес байта.
Keyfile pointer Сколько байтов занимает указатель файла данных? Это обычно 1, 2 или 3 байта. Большинство таблиц обходится 2 байтами, но это вычисляется mysql автоматически. Это всегда адрес блока.
Max datafile length Сколько байт может использовать для этой таблицы файл данных (.ISD).
Max keyfile length Сколько байт может использовать для этой таблицы файл ключей.
Recordlength Сколько пробела занимает каждая запись/строка?
Record format Какой формат имеет каждая запись/строка?
table description Список всех ключей в таблице. Для каждого ключа выводится краткая информация низкого уровня (большее количество информации в следующей таблице).

Краткая информация низкого уровня для каждого ключа:

Key Номер ключа.
Start Где в записи/строке начинается индексная часть.
Len Какой длины индексная часть? Для упакованных чисел это всегда полная длина поля. Для строк она может быть короче полной длины (хотя MySQL все же не поддерживает такой вариант).
Index unique или multip.
Type Какой тип данных имеет эта индексная часть? Это - C тип данных (опционально packed или short).
Root Адрес корня индексного блока.
Blocksize Размер каждого индексного блока. По умолчанию 1024, но это может быть изменено во время компиляции.
Rec/key Статистическое значение, используемое оптимизатором. Оно сообщает, сколько записей приходится на этот ключа. Уникальный ключ всегда имеет значение 1. Это может измениться после того, как таблица загружена и стабилизирована, используя isamchk -a . По умолчанию 30.

MySQL FAQ имеет обширную информацию по этой теме.