Spec-Zone.ru › MariaDB

Информация о таблицах myisamchk

myisamchk можно использовать для получения информации о таблицах MyISAM, особенно с параметрами -d, -e, -i и -v.

Общие параметры для сбора информации включают:

  • myisamchk -d
  • myisamchk -dv
  • myisamchk -dvv
  • myisamchk -ei
  • myisamchk -eiv

Параметр -d возвращает краткое описание таблицы и ее ключей. Выполнение этого параметра во время обновления таблицы и при отключенном внешнем блокировании может привести к ошибке, но таблица не пострадает. Каждый дополнительный параметр v добавляет больше вывода. -e проверяет таблицу тщательно (но медленно), а параметр -i добавляет статистическую информацию.

Вывод -dvv

В следующей таблице описывается вывод запуска myisamchk с параметром -dvv:

Заголовок Описание
Файл MyISAM Имя и путь к файлу индекса MyISAM (без расширения)
Формат записей Формат хранения. Один из packed (динамический), fixed или compressed.
Набор символов По умолчанию набор символов для таблицы.
Версия файла Всегда 1.
Время создания Время создания файла данных
Время восстановления Последнее время восстановления файла.
Статус Статус таблицы. Один или несколько из проанализированная, измененная, сбой, открыта, оптимизированные ключи и отсортированные страницы индекса.
Автоинкрементный ключ Номер индекса столбца автоинкремента таблицы. Не отображается, если столбец автоинкремента не существует.
Последнее значение Последнее сгенерированное значение автоинкремента. Не отображается, если столбец автоинкремента не существует.
Записи данных Количество записей в таблице.
Удалённые блоки Количество удалённых блоков, которые всё ещё резервируют место. Используйте OPTIMIZE TABLE для дефрагментации.
Части файла данных Для динамических таблиц, количество блоков данных. Если таблица оптимизирована, это будет соответствовать количеству записей данных.
Удалённые данные Количество байтов неутилизированных удалённых данных. Используйте OPTIMIZE TABLE для освобождения места.
Указатель файла данных Размер в байтах указателя файла данных. Размер указателя файла данных в байтах.
Указатель файла ключей Размер в байтах указателя файла индекса.
Максимальная длина файла данных Максимальная длина в байтах, которую может достичь файл данных.
Максимальная длина файла ключей Максимальная длина в байтах, которую может достичь файл индекса.
Длина записи Место, занимаемое каждой строкой в байтах.
Описание таблицы Описание всех индексов в таблице, за которым следуют все столбцы
Ключ Номер индекса, начиная с единицы. Если не отображается, индекс является частью индекса с несколькими столбцами.
Начало Где начинается часть индекса в строке.
Длина Длина индекса или части индекса. Длина индекса с несколькими столбцами — это сумма длин составляющих. Индексы столбцов строк будут короче полной длины столбца, если индексируется только префикс строки.
Индекс Является ли значение индекса уникальным или нет. Либо multip., либо unique.
Тип Тип данных индекса или части индекса.
Запись/ключ Запись числа строк на значение для индекса или части индекса. Используется оптимизатором для расчёта планов запросов. Можно обновить с помощью myisamchk-a. Если отсутствует, по умолчанию 30.
Корень Адрес корневого блока индекса.
Размер блока Размер блока индекса в байтах.
Поле Номер столбца, начиная с единицы. Первая строка будет содержать положение и количество байт, используемых для хранения флагов NULL, если таковые имеются (см. Nullpos и Nullbit ниже).
Начало Позиция байта столбца в строке таблицы.
Длина Длина столбца в байтах.
Nullpos Байт, содержащий флаг для значений NULL. Пусто, если столбец не может быть NULL.
Nullbit Бит, содержащий флаг для значений NULL. Пусто, если столбец не может быть NULL.
Тип Тип данных — см. таблицу ниже для списка возможных значений.
Дерево Хаффмана Присутствует только для упакованных таблиц, содержит номер дерева Хаффмана, связанного со столбцом.
Биты Присутствует только для упакованных таблиц, содержит количество битов, используемых в дереве Хаффмана.
Тип данных Описание
постоянное Все строки содержат одно и то же значение.
без дополнительного пространства Дополнительное пространство не хранится.
без дополнительного пространства, не всегда Дополнительное пространство не хранится, и сжатие дополнительного пространства не всегда выполняется для всех значений.
без дополнительного пространства, без пустых Дополнительное пространство не хранится, пустые значения не хранятся.
поиск в таблице Столбец был преобразован в ENUM.
zerofill(N) Наиболее значимые N байты значения не хранятся, поскольку они всегда равны нулю.
без нулей Нули не хранятся.
всегда ноль Значения нуль хранятся с одним битом.

Вывод -eiv

В следующей таблице описывается вывод запуска myisamchk с параметром -eiv:

Заголовок Описание
Записи данных Количество записей в таблице.
Удалённые блоки Количество удалённых блоков, которые всё ещё резервируют место. Используйте OPTIMIZE TABLE для дефрагментации.
Ключ Номер индекса, начиная с единицы.
Используемые блоки ключей Процент используемых блоков ключей. Проценты будут выше для оптимизированных таблиц.
Упакованные Процент места, сэкономленного благодаря упаковке значений ключей с общим суффиксом.
Максимальные уровни Глубина индекса B-дерева для ключа. Более крупные таблицы и более длинные значения ключей приводят к более высоким значениям.
Записи Количество записей в таблице.
M.recordlength Средняя длина строки. Для фиксированных строк будет фактической длиной каждой строки.
Упакованные Процент экономии от удаления пробелов в конце строк.
Использованное пространство записей Процент используемого файла данных.
Свободное пространство Процент неиспользуемого файла данных.
Блоки/запись Среднее количество блоков на запись. Значения, превышающие единицу, указывают на фрагментацию. Используйте OPTIMIZE TABLE для дефрагментации.
Блоки записей Количество используемых блоков. Совпадёт с количеством строк для фиксированных или оптимизированных таблиц.
Блоки удаления Количество удалённых блоков
Данные записи Используемые байты в файле данных.
Удалённые данные Неиспользуемые байты в файле данных.
Потерянное место Общее количество потерянных байтов, например, при обновлении строки до более короткой длины.
Данные ссылки Сумма байтов, используемых для указателей, связывающих разобщённые блоки. Каждый имеет размер от четырёх до семи байтов.

Примеры

myisamchk -d /var/lib/mysql/test/posts

MyISAM file:         /var/lib/mysql/test/posts
Record format:       Compressed
Character set:       utf8mb4_unicode_ci (224)
Data records:                 1680  Deleted blocks:                 0
Recordlength:                 2758
Using only keys '0' of 5 possibly keys

table description:
Key Start Len Index   Type
1   1     8   unique  ulonglong            
2   2265  80  multip. varchar prefix       
    63    80          varchar              
    17    5           binary               
    1     8           ulonglong            
3   1231  8   multip. ulonglong            
4   9     8   multip. ulonglong            
5   387   764 multip. ? prefix
myisamchk -dvv /var/lib/mysql/test/posts

MyISAM file:         /var/lib/mysql/test/posts
Record format:       Compressed
Character set:       utf8mb4_unicode_ci (224)
File-version:        1
Creation time:       2015-08-10 16:26:54
Recover time:        2015-08-10 16:26:54
Status:              checked,analyzed,optimized keys
Auto increment key:              1  Last value:                  1811
Checksum:               2299272165
Data records:                 1680  Deleted blocks:                 0
Datafile parts:               1680  Deleted data:                   0
Datafile pointer (bytes):        6  Keyfile pointer (bytes):        6
Datafile length:           4298092  Keyfile length:            156672
Max datafile length: 281474976710654  Max keyfile length: 288230376151710719
Recordlength:                 2758
Using only keys '0' of 5 possibly keys

table description:
Key Start Len Index   Type                     Rec/key         Root  Blocksize
1   1     8   unique  ulonglong                      1                    1024
2   2265  80  multip. varchar prefix               336                    1024
    63    80          varchar                      187
    17    5           binary                         1
    1     8           ulonglong                      1
3   1231  8   multip. ulonglong                     10                    1024
4   9     8   multip. ulonglong                    840                    1024
5   387   764 multip. ? prefix                       1                    4096

Field Start Length Nullpos Nullbit Type                         Huff tree  Bits
1     1     8                      zerofill(6)                          1     9
2     9     8                      zerofill(7)                          1     9
3     17    5                                                           1     9
4     22    5                                                           1     9
5     27    12                     blob                                 2     9
6     39    10                     blob                                 3     9
7     49    4                      always zero                          1     9
8     53    10                     blob                                 1     9
9     63    81                     varchar                              4     9
10    144   81                     varchar                              5     5
11    225   81                     varchar                              5     5
12    306   81                     varchar                              1     9
13    387   802                    varchar                              6     9
14    1189  10                     blob                                 1     9
15    1199  10                     blob                                 7     9
16    1209  5                                                           1     9
17    1214  5                                                           1     9
18    1219  12                     blob                                 1     9
19    1231  8                      no zeros, zerofill(6)                1     9
20    1239  1022                   varchar                              7     9
21    2261  4                      always zero                          1     9
22    2265  81                     varchar                              8     8
23    2346  402                    varchar                              2     9
24    2748  8                      no zeros, zerofill(7)                1     9
myisamchk -eiv /var/lib/mysql/test/posts
Checking MyISAM file: /var/lib/mysql/test/posts
Data records:    1680   Deleted blocks:       0
- check file-size
- check record delete-chain
No recordlinks
- check key delete-chain
block_size 1024:
block_size 2048:
block_size 3072:
block_size 4096:
- check index reference
- check data record references index: 1
Key:  1:  Keyblocks used:  92%  Packed:    0%  Max levels:  2
- check data record references index: 2
Key:  2:  Keyblocks used:  93%  Packed:   90%  Max levels:  2
- check data record references index: 3
Key:  3:  Keyblocks used:  92%  Packed:    0%  Max levels:  2
- check data record references index: 4
Key:  4:  Keyblocks used:  92%  Packed:    0%  Max levels:  2
- check data record references index: 5
Key:  5:  Keyblocks used:  88%  Packed:   97%  Max levels:  2
Total:    Keyblocks used:  91%  Packed:   91%

- check records and index references
Records:              1680    M.recordlength:     4102   Packed:             0%
Recordspace used:      100%   Empty space:           0%  Blocks/Record:   1.00
Record blocks:        1680    Delete blocks:         0
Record data:       6892064    Deleted data:          0
Lost space:           1284    Linkdata:           6264

User time 0.11, System time 0.00
Maximum resident set size 3036, Integral resident set size 0
Non-physical pagefaults 925, Physical pagefaults 0, Swaps 0
Blocks in 0 out 0, Messages in 0 out 0, Signals 0
Voluntary context switches 0, Involuntary context switches 74
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/myisamchk-table-information/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API