Задать вопрос
@rumasterov

Как считается key_len в команде EXPLAIN MySQL?

Подскажите пожалуйста как считается key_len в EXPLAIN MySQL?

Столбец key_len содержит длину ключа, которую решил использовать MySQL. Если key имеет значение NULL, то длина ключа (key_len) тоже NULL. Обратите внимание: по значению длины ключа можно определить, сколько частей составного ключа в действительности будет использовать MySQL.


У меня есть таблица partners, в ней есть поле id (primary key), тип данных INT, длина 11, выполняю запрос:
EXPLAIN SELECT * FROM partners WHERE id = 1;

Получаю следующий результат:
id;select_type;table;type;possible_keys;key;key_len;ref;rows;Extra
1;SIMPLE;partners;const;PRIMARY;PRIMARY;4;const;1;

Значение key_len = 4, почему? Как оно рассчитывается?

Спасибо.
  • Вопрос задан
  • 781 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Показывается используемая длина ключа в байтах.
INT - 4 байта и есть. И длина int'а всегда 4 байта, та циферка в скобках - ни на что не влияет в плане хранения, используется в некоторых клиентах для выравнивания отображения таблицы и только.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы