复习数据库的时候,注意到一个比较有意思的,之前没怎么注意的问题,就是char与varchar的区别。在此做小小的一个学习记录
两者最根本的区别是:char的长度是确定好的,而varchar的长度是可变的,比如说存“abc”,则char(10)表示存储的字符串将占10个字节,其中包括7个空字符,也就是下面这样
而对于同样的varchar(10)只占了4个字节,增加一个字节来存储字符串本身的长度,像下面这样,这里的10只是最大值,当存储的字符小于10的时候,按照实际长度存储
还有就是关于这两者的优缺点以及使用场景,网上有篇博文讲的不错,我里直接贴上链接啦~
https://www.cnblogs.com/thinker-lj/p/3892935.html?from=singlemessage&isappinstalled=0
总结来说就是,从时间的角度考虑,以及数据是定长的情况用char,而从空间的角度考虑,就可以用varchar,详细的可以参考上面的那篇大神的博文~。