在Ms-Access MDB中,它是否会节省磁盘空间以限制可变长度文本字段的大小?
例如。如果我有一个可变长度 Text
大小的领域 20
并且该字段的所有实际值都在 10
人物,我在浪费空间吗?
将字段的大小设置为是否更好? 10
,还是没有任何区别?
在Ms-Access MDB中,它是否会节省磁盘空间以限制可变长度文本字段的大小?
例如。如果我有一个可变长度 Text
大小的领域 20
并且该字段的所有实际值都在 10
人物,我在浪费空间吗?
将字段的大小设置为是否更好? 10
,还是没有任何区别?
如果我有一个大小为20的可变长度文本字段,并且该字段的所有实际值都不到10个字符,那么我是否在浪费空间?
没有。
将字段的大小设置为10,或者它没有任何区别会更好吗?
如果超过10个字符的值不可接受,最好将10设置为字段大小限制。如果用户可以输入11到20个字符之间的值,则将限制保留为20.在这种情况下,磁盘空间使用不会出现问题。
虽然没有明确说明,但我认为您要问的是,数据存储与可变长度字符串的限制存在差异:使用更大或更小的限制没有区别。从MSDN,讨论JET的TEXT数据类型(Access中的db引擎)
通常,文本字段最多可包含255个字符, [...]此外,未保留未使用的文本字段部分 记忆。
字段存储为可变长度,因此将大小设置为255或10将不会减小或更改数据文件的大小。
我认为当内存价格昂贵时,这是一个遗留物。
您可以将其用作数据验证的方法,即如果该字段包含电话号码,则给出10的长度将阻止输入无效和国际电话号码。
应该适当选择字段的长度,因为它对索引性能和存储有影响,因为较长的值会产生更多的数据页。当然,如果数据是真实的,即实际值需要那么长,那么你需要它。因此,如果您有一个50个字符的字段,并且最长的值是10个字符,则索引将不会占用比该字段为10个字符更多的空间。
但是,选择适当的限制有助于设计表单和报告 - 如果您将字段设置得太长,则最终可能会出现无法正确显示/打印的异常值记录。另一方面,您不希望它太短,以至于用户无法在其中放入正常数据。字段长度是数据验证的最基本形式,因为您要确定该字段的适当值范围。
我的基本原则是我为具有常规格式的数据选择尽可能短的字段长度(即使它偶尔有例外),但是对于没有的字段,我很慷慨。