数据库中的一个字段的数据大小不定如何设置字段的长度查询最快又节省空间

数据库中的一个字段的数据大小不定如何设置字段的长度查询最快又节省空间,第1张

varchar是可变字符,varchar(2000)即可,不会浪费空间。

楼主为何要将历史记录存在access中呢?若您后台有sql server支持,建议您历史记录也存放在sql中,access的性能及对sql的语言支持都远不如 MSSQL。

VARCHAR限制了字符串的长度不能超过255个字符---哦,忘记了,这个可能access有此限制,sql可以的,最大varchar(8000)。

varchar(100)中的100并不多余,在未存储数据时用于占位,系统会用于预先计划分配空间,但直到真正存储数据时才确实分配存储空间。

个人看法:

1占用空间上varchar(100)和varchar(2000)没什么区别。

2但varchar(100)会效率较低,因为按你说的该字段会5-2000,若大于100,则您每次固定写入100会需要多次写 *** 作,众所周知写 *** 作是比较耗时的。

3查询性能方面,跟您这儿怎么存没太大关系,重要的还是常见的数据库查询优化,如索引、条件等等

对这个问题,我引用一下CSDN上的说法:

一。数据行结构

char(n): 系统分配n个字节给此字段,不管字段实际长度(后边用空格补齐)

varchar(n): 假设表中有M个varchar(或者nvarchar)类型的字段

先分配两个字节(用来表示M)

再分配2M个字节(表示各变长行的偏移)

此后字段值有多长,就分配多长

二。varchar(n)一定比char(n)节省空间么

不一定。

我见过这样的设计: varchar(3)

就算此字段为空,也还是比char(3)多用一个字节。

还有这样的设计: user_ip varchar(16)

对于这种数据长度变化不大的字段,用varchar只能浪费空间

结论: varchar适用于数据值长度不太短,且长度变化较大的字段

三。char(n)一定比varchar(n)速度快么

不一定

计算varchar的偏移是会花去一些cpu时间,但性能瓶颈不在此,在io

db的io单位是数据页(8192字节)(一页存有多个数据行,数据行不能跨页。当然image,text等例外) 因此一页中行越多,性能越好

另外,关于char和varchar的性能比较,

请参见该实验:

>

记录长度在随机文件中涉及,类似数据库文件,一条记录是一组有意义数据字段组合。如记录学生的文件,一条记录由学生的名字,学号,年龄,住址等字段组成,而文件就是由这些格式,长度一致的记录所组成。

vb中记录长度以字节为单位,以记录为单位存储。处理这类文件一般先定义一个结构类型,把记录中的每个字段定义为结构的成员。然后用Put 把该结构类型变量写入文件。

是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于有八位, 也表示一些计算机编程语言中的数据类型和语言字符。

字符可以分为中文字符,英文字符、数字。中文字符(中文输入下的汉字和特殊字符都包含)占两个字节。英文字符(大写字母和小写字母)占一个字节。数字也是占一个字节。

以上就是关于数据库中的一个字段的数据大小不定如何设置字段的长度查询最快又节省空间全部的内容,包括:数据库中的一个字段的数据大小不定如何设置字段的长度查询最快又节省空间、数据库设计如何确定字段的长度、vb文件记录长度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9478661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存