Подтвердить что ты не робот

MySQL: почему varchar (254) и не varchar (255)?

Почему так много разработчиков устанавливают varchar на 254, а не 255 при создании таблиц MySQL?

Доказательство того, что это происходит: mysql varchar 254

4b9b3361

Ответ 1

Для полей varchar требуется n + 1 байт для полей, которые меньше или равны 255 и требуется n + 2 байта для полей > 255

http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

Он должен быть установлен в 255, я предполагаю, что разработчики подумают, что они сохранят дополнительный байт с 254, но 255 является стандартным

Ответ 2

Ваш запрос Google уже дал вам подсказки. Одно из первых хитов:

https://www.vbulletin.com/forum/project.php?issueid=32655

В основном говорится, что индексы FULLTEXT на VARCHAR(255) требуют удвоения пробела индекса VARCHAR(254) FULLTEXT. И еще несколько других наворотов на вершине этого.

Я думаю, что это гораздо важнее сохранения одного байта в таблице данных.