第一天学习MYSQL

char和varchar的区别

      在建立数据库的时候,为了给一个String类型的数据定义一个数据库的数据类型,一般参考的都是char和varchar,这两种选择有时候让人很纠结,下面来总结一下这两者的区别.

      首先我们要知道,char的长度是不可变的,而varchar的长度是可变得,也就是所,定义一个char[10]和varchar[10],如果存进去的是'CSDN',namechar所占的长度已让为10,除了字符'CSDN'外,后面跟留个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要.

    尽管如此,char的存取速度还是要比varchar要快的多,因为其长度固定,方便程序的储存与查找;但是char却比varchar更占空间因为它是固定长度,难免有空格占位符,以空间换区时间效率,而varchar则是以空间效率为首位的.

    再者,char储存引文字符占用1字节,汉字为两字节;而varchar储存英文和汉字都是占用两字节.

    两者的储存数据都是非unicode的字符数据.

猜你喜欢

转载自blog.csdn.net/ShanGe9527/article/details/81172734