数据库设计实战之char和varchar(区别分享)
hello你好我是辰兮,很高兴你来阅读,分享一个最近项目遇到的数据设计的问题以及查阅资料后的解答,分享获取新知,大家一起进步。
最近在实际项目中被规定要求字段长度在五十以下的使用定长类型,有多少写多少--如char(8)--
,超过五十的用变长类型--如varchar(100)--
下面和大家一起学习一下
char(定长字符串)——定长类型。
如将姓名列指定为char(8)。当保存“辰兮”时,数据库还会自动保存4个空格;保存“辰兮兮”时,数据库还会自动保存2个空格,这样每个人的姓名长度都为8,长度是固定的,所以叫做“定长”。明显,在保存信息时,定长会因为保存了很空格而多占用了磁盘空间。
数据库保存这些“多余”的空格有什么作用?
那就是查询时,在取到字段的长度以后,不再需要判断每一个姓名的实际长度,就可以取到数据。这样查询效率大大提高了。
varchar(变长字符串)——变长类型。
如将姓名列指定为varchar(8)。当保存“辰兮”和保存“辰兮兮”时,数据库都只保存数据的本身,不会自动添加空格。两个人姓名的长度分别为4和6,长度是变化的,所以叫做“变长”。这样没有多占用任何磁盘空间。
但是在查询时,每个人的姓名的长度都不同,必须先判断后取数据,所以查询效率比char类型要低。
先判断才取数据,这样查询效率降低
小结:char和varchar的关系就是空间和时间的关系,char是以空间换时间,牺牲了磁盘空间,但羸得了查询时间
秋天快到了是一个收获的季节,更高处见…
文章来源: blessing.blog.csdn.net,作者:辰兮要努力,版权归原作者所有,如需转载,请联系作者。
原文链接:blessing.blog.csdn.net/article/details/107896543
- 点赞
- 收藏
- 关注作者
评论(0)