длинна первичного ключа MySQL

я имею следующую таблицу:

+---------+----------------------+------+-----+---------+-------+
| Field   | Type                 | Null | Key | Default | Extra |
+---------+----------------------+------+-----+---------+-------+
| id      | smallint(5) unsigned | YES  |     | NULL    |       |
| version | varchar(15)          | NO   | PRI | NULL    |       |
| num     | smallint(5) unsigned | YES  |     | NULL    |       |
| type    | enum('ios','and')    | NO   | PRI | NULL    |       |
+---------+----------------------+------+-----+---------+-------+

Почему длинна ключа индекса равна 48 ? По моим расчетам длинна ключа должна быть 16 byte (version) + 1-2 байта enum? т.е. не больше 24 байт

MySQL version 5.7.27

кодировка CHARSET=utf8


Ответы (1 шт):

Автор решения: akalend

Изначально была задана таблица в кодировке UTF-8, которая использует переменное количество байт (от 1 до 4). После смены кодировки на ASCII длинна ключа стала 18 байт

15 + 1 -> VARCHAR(15)
1 + 1 -> enum

Спасибо за подсказку @Mike & @Akina

→ Ссылка