Длина полей varchar
менее важна, чем их использование для чисел, таких как почтовые индексы, номера телефонов и т. Д.
Числа занимают LOT меньше места, чем строка. Например:
28245
как smallint
занимает 2 байта
'25245'
как varchar(255)
принимает (5 байтов для данных) + (2 байта для хранения длины) = 7 байтов
У вас также будут странные проблемы с сортировкой, поскольку строки сортируются иначе, чем числа.
Как говорится, между varchar(20)
и varchar(255)
нет разницы в производительности. Varchar - это varchar - это varchar, и единственным отличием является ОГРАНИЧЕНИЕ пространства, которое они могут занять в поле.