Подробно о таблицах
Для получения описания таблицы используйте команду (Вы должны перейти в каталог, который содержит таблицу, информацию о которой Вы желаете получить. Вообще это будет $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. |