В Доступе г-жи MDB это сохранит дисковое пространство для ограничения размера текстовых полей переменной длины?
например, Если у меня есть переменная длина Text
поле размера 20
и все фактические значения поля находятся под 10
символы, я трачу впустую пространство?
Было бы лучше установить размер поля к 10
, или разве это не имеет никакого значения?
Если у меня есть текстовое поле переменной длины размером 20 и все фактические значения поля меньше 10 символов, не трачу ли я место?
Нет.
Было бы лучше установить размер поля равным 10, или это не имеет никакого значения?
Было бы лучше установить 10 в качестве ограничения размера поля, если значения длиннее 10 символов недопустимы. Если пользователь может вводить значения от 11 до 20 символов, оставьте ограничение на 20. Использование дискового пространства не является проблемой в этой ситуации.
Длина поля должна быть выбрана соответствующим образом, поскольку она влияет на производительность индекса и на хранение данных, так как более длинные значения занимают больше страниц данных. Конечно, если данные реальные, т.е. реальные значения должны быть такой длины, вам это необходимо. Так, если у вас есть 50-символьное поле, а самое длинное значение - 10 символов, индекс не займет больше места, чем если бы поле было 10 символов.
Но выбор подходящего ограничения помогает при разработке форм и отчетов - если вы сделаете поле слишком длинным, вы можете получить записи с отклонениями, которые не будут правильно отображаться/печататься. С другой стороны, не стоит делать его слишком коротким, чтобы пользователи не могли поместить в него нормальные данные. Длина поля - это самая основная форма проверки данных, потому что вы решаете, каков диапазон подходящих значений для этого поля.
Мой основной принцип заключается в том, что я выбираю минимально возможную длину поля для данных, имеющих обычный формат (даже если в нем иногда встречаются исключения), но проявляю щедрость в отношении полей, которые таковыми не являются.
Я думаю, что это унаследованное свойство, когда память была дорогой.
Вы можете использовать его как метод проверки данных, т.е. если поле содержит телефонные номера, то указание длины 10 предотвратит ввод недействительных и международных телефонных номеров.
Хотя это не указано явно, я думаю, вы спрашиваете, есть ли разница в хранении данных с ограничением на строки переменной длины: Разницы при использовании большего или меньшего лимита не будет. Из MSDN, обсуждение типов данных TEXT для JET (движок db в Access)
В общем, текстовые поля могут содержать до 255 символов, [...] Кроме того, неиспользуемые части текстовых полей не резервируются в памяти.
Поля хранятся с переменной длиной, поэтому установка размера 255 или 10 не приведет к уменьшению или изменению размера файла данных.