IT技术博客大学习 共学习 共进步

varchar(10) 和varchar(100)的区别?

那一剑的风情 2009-10-28 22:49:11 累计浏览 2,522 次
   这两个类型,如果只存储hello这个字符串的话,存储空间都没有区别的都是6bytes。

     但是真没有区别么?其实是有的,mysql在处理数据的时候需要分配内存,而内存的分配都是fixed-size的,所以它只能按照最大的可能来分配,这样varchar(10)和varchar(100)就差别大了。而blob/text字段在处理时内存分配则有所不同,mysql会按照已经发现的最大长度来分配内存。如果查询时有filesort,处理是类似的。

     所以字段长度只要是满足了需求,那么设置的尽可能小是没错的。