Ms-Access: любой размер должен быть небольшим для текстовых полей переменной длины - PullRequest
11 голосов
/ 21 июля 2010

В MDS-Access MDB это сэкономит место на диске, чтобы ограничить размер текстовых полей переменной длины?

например.Если у меня есть поле переменной длины Text размером 20 и все фактические значения поля не превышают 10 символов, я теряю пространство?

Было бы лучше установить размер поля на 10, или это не имеет никакого значения?

Ответы [ 5 ]

8 голосов
/ 26 июля 2010

Если у меня есть текстовое поле переменной длины размером 20, а все фактические значения поля меньше 10 символов, я теряю пространство?

Нет.

Было бы лучше установить размер поля равным 10, или это не имеет значения?

Этобыло бы лучше установить 10 в качестве ограничения размера поля, если значения больше 10 символов недопустимы.Если пользователь может вводить значения в диапазоне от 11 до 20 символов, оставьте ограничение в 20. В этой ситуации использование дискового пространства не является проблемой.

4 голосов
/ 23 июля 2010

Хотя это прямо не указано, я думаю, вы спрашиваете, есть ли разница в хранении данных с ограничением на строки переменной длины: не будет разницы при использовании больших или меньших ограничений. Из MSDN, обсуждая типы данных TEXT для JET (механизм БД в Access)

Как правило, текстовые поля могут содержать до 255 символов, [...] Кроме того, неиспользуемые части текстовых полей не зарезервированы в память.

3 голосов
/ 21 июля 2010

Поля сохраняются как переменная длина, и, следовательно, установка размера 255 или 10 не приведет к уменьшению или изменению размера файла данных.

0 голосов
/ 21 июля 2010

Длина поля должна быть выбрана надлежащим образом, поскольку она влияет на производительность и хранение индекса, поскольку более длинные значения увеличивают количество страниц данных.Конечно, если данные реальны, т. Е. Реальные значения должны быть такими длинными, вам это нужно.Таким образом, если у вас есть поле из 50 символов и самое длинное значение составляет 10 символов, индекс не займет больше места, чем если бы поле было 10 символов.

Но выбор подходящего предела помогает при разработкеформы и отчеты - если вы сделаете поле слишком длинным, у вас могут появиться посторонние записи, которые неправильно отображаются / печатаются.С другой стороны, вы не хотите, чтобы он был слишком коротким, чтобы пользователи не помещали в него обычные данные.Длина поля является наиболее простой формой проверки данных, потому что вы сами решаете, какой диапазон подходящих значений для этого поля.

Мой основной принцип заключается в том, что я выбираю максимально короткую длину поля для данных, которые имеют регулярныеформат (даже если есть случайные исключения), но я щедро отношусь к полям, которые этого не делают.

0 голосов
/ 21 июля 2010

Я думаю, это наследие, когда память была дорогой.

Вы можете использовать его как метод проверки данных, т. Е. Если в поле содержатся номера телефонов, то, если ввести длину 10, будет невозможно ввести недействительные и международные номера телефонов.

...