mysql中char和varchar类型的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中char和varchar类型的区别相关的知识,希望对你有一定的参考价值。

区别:

  char:存储的数据时固定长度的;

  varchar:存储的数据可变长度

举例:

  在数据表中定义两个数据项char(200)和varchar(200),同时存入字符串串"Hello Word",

  char类型便会用这200多的数据长度存储这十几个字符,简直很汗!;

  varchar类型会按需索取,只会用这十几个字符需要的空间来存储它,再加上一个位置来存储位置信息,嗯,好多了。

 

注意:

  1、这样看起来varchar比char好多了,char有优点吗?

  当然有的!!!

  •   char类型因为固定长度,所以查询速度会快好多
  •   有些数据本来就很短,用char类型更节省空间,varchar类型需要存储地址信息,反而浪费了一定的空间

  

  2、既然varchar按需索取,那么定义数据表的时候使劲往大了写好吗?错误

  •   定义数据表的时候,mysql会把数据表信息缓存在内存了,那个空间是按定义的大小来的,浪费空间
  •   查询的时候会在内存里进行缓存,缓存数据的长度,也是按定义的数据长度来的。

  so,还是老老实实来吧,该定义多大定义多大,嗯,就是这样……

 

以上是关于mysql中char和varchar类型的区别的主要内容,如果未能解决你的问题,请参考以下文章

char和varchar在mysql中的效率怎样

Mysql常用数据类型

mysql中char,varchar与text类型的区别和选用

mysql中char,varchar与text类型的区别和选用

Mysql中varchar和char区别

mysql--------char 和 varchar 的区别