MySQL: почему varchar (254) и не varchar (255)?
Почему так много разработчиков устанавливают varchar на 254, а не 255 при создании таблиц MySQL?
Доказательство того, что это происходит: mysql varchar 254
Ответы
Ответ 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. И еще несколько других наворотов на вершине этого.
Я думаю, что это гораздо важнее сохранения одного байта в таблице данных.