MySQL优化技巧之CHAR的使用

Time:2015/01/29 18:19:06   Click:

VARCHAR和CHAR应该说是MySQL最常用的字符串。但不幸的是,很难精确的解释这些值是怎么存储在磁盘和内存中的,因为这些与存储引擎有关。

VARCHAR 是可以存储变长字符串。比如 v archar(32) ,可以存储 16个字符,也可一下存储32个字符(这里的可变长度是在32个字符串以内,他是不能存储64个字符的)。

CHAR类型是定长的。比如C HAR(32),如果我们存储16个字符长的字符串,那么数据库会自动的填充16个空格这里,在取出时就是32位的字符串。

对于VARCHAR和CHAR在存储字节来看的话都差不多,除了本身存储位数以外,都会有多余字节指定长度,所以VARCHAR与HAR越来越接近。所以很多人就在创建表的时候全部使用VARCHAR来定义字符串。

CHAR不是越来越失去存在意义了吗?当然不是,CHAR还是有优点的。

1、CHAR很适合存储很短的字符串,如C HAR(1) 来存储只有Y和N的值。

2、CHAR合适定长,这里是定长存储密码的MD5值,。 

3、CHAR存储经常变化的定长数据。因为定长CHAR在改变时不容易产生碎片。比如密码的MD5,定长而且容易变化。

所以在创建数据库表时,CHAR还是有自己的特色。当然VARCHAR也会不断的修改和优化,VARCHAR也可以完成CHAR的所以事情。如果使用不同的的类型数据,看起来有点高大上的感觉!别无其他目的。

TOP

四川尚狐网络@2012 版权所有
蜀ICP备12016524号-2

立即咨询
成都网站建设,成都做网站,四川尚狐网络
40f13d50b73e104f832ed1b719ae6935