码迷,mamicode.com
首页 > 数据库 > 详细

mysql中varchar、char、text的使用

时间:2017-07-09 18:14:08      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:字符串   add   short   存储   占用   byte   长度   速度慢   长大   

超出char或者varchar设置长度后,字符串会被截断。

char和varchar的区别在于:char不管实际的value值是多少,都会占用n个字符空间,而varchar只会占用实际字符占用的空间+1,并且实际空间+1<=n;

下图可以非常明显的看到结果:

Value

CHAR(4)

Storage Required

VARCHAR(4)

Storage Required

‘‘

‘    ‘

4 bytes

‘‘

1 byte

‘ab‘

‘ab  ‘

4 bytes

‘ab‘

3 bytes

‘abcd‘

‘abcd‘

4 bytes

‘abcd‘

5 bytes

‘abcdefgh‘

‘abcd‘

4 bytes

‘abcd‘

5 bytes

 

 

 

 

 

 

 

 

总体来说:

1、char,存定长,速度快,存在空间浪费的可能,会处理尾部空格,上限255。

2、varchar,存变长,速度慢,不存在空间浪费,不处理尾部空格,上限65535,但是有存储长度实际65532最大可用。

3、text,存变长大数据,速度慢,不存在空间浪费,不处理尾部空格,上限65535,会用额外空间存放数据长度,顾可以全部使用65535。

 

如果确定某项内容的长度,那就用char,否则用varchar。

 varchar和text在性能上没什么大的区别,本着short is better原则,还是使用varchar根据需求来限制最大上限最好。

 

mysql中varchar、char、text的使用

标签:字符串   add   short   存储   占用   byte   长度   速度慢   长大   

原文地址:http://www.cnblogs.com/haley0125/p/7141943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!