Возможный дубликат:
Есть ли недостатки постоянного использования nvarchar (MAX)?
varchar (max) везде?
Учитывая тот факт, что varchar всегда будет хранить фактическое количество символов, которые у него есть, а не его размер (например, столбец varchar (10), содержащий «Hello», будет занимать только 5 байтов), почему бы не создать все столбцы VARCHAR как varchar (max )?
Хорошо, есть проблема с индексом, когда могут быть проиндексированы только столбцы с максимальным размером 900 байт, так почему бы не создать все столбцы как varchar (900) или все столбцы, которые не должны быть проиндексированы как varchar (max) и другие как varchar (макс.)
varchar
для начала имеет накладные расходыchar
. если у вас есть столбец почтового индекса, который, как вы знаете, всегда будет хранить 5 символов, тогда зачем объявлять егоvarchar(900)
? без разницы. кроме того, размер столбца является источником информации как для читателей, так и для БД. - person vulkanino   schedule 02.03.2012