数据库设计实战char和varchar(区别分享)

网友投稿 651 2022-05-28

hello你好我是辰兮,很高兴你来阅读,分享一个最近项目遇到的数据设计的问题以及查阅资料后的解答,分享获取新知,大家一起进步。

最近在实际项目中被规定要求字段长度在五十以下的使用定长类型,有多少写多少--如char(8)--,超过五十的用变长类型--如varchar(100)--

下面和大家一起学习一下

char(定长字符串)——定长类型。

如将姓名列指定为char(8)。当保存“辰兮”时,数据库还会自动保存4个空格;保存“辰兮兮”时,数据库还会自动保存2个空格,这样每个人的姓名长度都为8,长度是固定的,所以叫做“定长”。明显,在保存信息时,定长会因为保存了很空格而多占用了磁盘空间。

数据库保存这些“多余”的空格有什么作用?

那就是查询时,在取到字段的长度以后,不再需要判断每一个姓名的实际长度,就可以取到数据。这样查询效率大大提高了。

数据库设计实战之char和varchar(区别分享)

varchar(变长字符串)——变长类型。

如将姓名列指定为varchar(8)。当保存“辰兮”和保存“辰兮兮”时,数据库都只保存数据的本身,不会自动添加空格。两个人姓名的长度分别为4和6,长度是变化的,所以叫做“变长”。这样没有多占用任何磁盘空间。

但是在查询时,每个人的姓名的长度都不同,必须先判断后取数据,所以查询效率比char类型要低。

先判断才取数据,这样查询效率降低

小结:char和varchar的关系就是空间和时间的关系,char是以空间换时间,牺牲了磁盘空间,但羸得了查询时间

秋天快到了是一个收获的季节,更高处见…

数据库

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云计算实践(十)
下一篇:KVM虚拟化的部署及使用
相关文章