玖叶教程网

前端编程开发入门

varchar和char到底用哪个呢?

前言

相信绝大多数小伙伴都知道在mysql中,字符串使用varchar和char来定义,但结合阿海自身的经历,发现大家一般都是使用varchar来定义字符串的,char类型的出场率似乎不高,但事物存在必然有其原因,今天阿海就给大家分享一下mysql中varchar和char之间的区别。

varchar和char的各自特性和区别

我们可以从以下三个方面入手,对二者的特性和区别进行一定的了解:

1.从长度是否可变来看char 是一个固定长度的字符串,而varchar 是一个可变长度的字符串,假设声明一个 char(10)的长度如果存储字符串“abc”,虽然实际字符长度只有 3,但是 char 还是会占 10 个字节长度。同样,如果用 varchar 存储,那它只会使用 3 个字符的实际长度来存储;

2.从存储的效率高低来看char 类型每次修改以后存储空间的长度不变,所以效率更高,varchar每次修改数据都需要更新存储空间长度,效率相对较低;

3.从占用的存储空间大小来看char 不管实际数据大小,存储空间是固定的,而 varchar存储空间等于实际数据长度,所以varchar实际存储,空间的使用要比 char 更小。

结论

从以上分析可知,我们可以得出以下结论:

1.char类型更适合存储比较短的且是固定长度的字符串,比如身份证号码(18位),手机号码(11位);

2.varchar则适合存储可变长度的字符串,比如在定义产品简介字段时,我们可以将其长度给大些,留给冗余(避免实际生产环境该字段值超过定义长度,报error case),而不用担心其会占用过多存储空间。

好了,这次就分享到这里,大家如果有任何工作,面试上的问题或疑惑,欢迎私信阿海!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言