длинна первичного ключа 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