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

MySql - размер VARCHAR

Многие люди говорят мне, что набор VARCHAR (100) не имеет смысла. Это то же самое, что и 255. Я хотел бы знать, почему...

4b9b3361

Ответ 1

Это мусор. Они могут говорить о том, что varchar использует один байт для длины независимо от того, равна ли максимальная длина 100 или 255 (длина выше, которая будет использовать два байта, до ~ 64 КБ), но они обрабатываются по-разному.

Если вы вставляете 150-символьную строку в первую, она будет усечена до 100, что не так для последнего случая.

Вы должны использовать длину, которая имеет смысл. Если у вас есть столбец, который никогда не будет превышать 30 символов, не используйте varchar(255).

Подробнее см. здесь.

Ответ 2

http://msdn.microsoft.com/en-us/library/aa258242%28v=sql.80%29.aspx.

VARCHAR (100) действительно имеет смысл, он говорит, что максимальный размер ввода - 100 символов (если вы введете более длинную строку, вырезаете ее до размера 100).

VARCHAR (256) говорит, что максимальный размер ввода - 256 символов.