![]() |
1
3
取决于。。。。 如果你从MySQL文档中看到这一点
正如您所看到的,CHAR的4个字符占用4个字节,而VARCHAR占用5个字节。如果绝大多数扩展都是4个字符,那么CHAR将更节省空间。 在你的情况下,我猜3将是多数,所以VARCHAR是更好的选择。 詹姆斯:-) |
![]() |
2
2
编辑,我对之前的回答做出了错误的假设。我会把摘录粘贴给你 http://dev.mysql.com/doc/refman/5.0/en/char.html (增加了重点) CHAR和VARCHAR类型相似,但存储和检索方式不同。从MySQL 5.0.3开始,它们在最大长度和是否保留尾部空格方面也有所不同。 CHAR和VARCHAR类型的声明长度指示要存储的最大字符数。例如,CHAR(30)最多可以容纳30个字符。 CHAR列的长度固定为创建表时声明的长度。长度可以是0到255之间的任何值。当CHAR值被存储时,它们被用空格填充到指定的长度。检索CHAR值时,会删除尾部空格。 VARCHAR列中的值是可变长度的字符串。在MySQL 5.0.3之前,长度可以指定为0到255之间的值,在5.0.3及更高版本中,长度可以为0到65535。MySQL 5.0.3及更高版本中VARCHAR的有效最大长度取决于最大行大小(65535字节,在所有列之间共享)和使用的字符集。 与CHAR相反,VARCHAR值存储为一个字节或两个字节长度的前缀加数据。长度前缀表示值中的字节数。如果值需要的字节不超过255个,则列使用一个长度字节;如果值可能需要的字节多于255个,那么列使用两个长度字节。 |
![]() |
hello_programmers · Mysql从其他表输出一列 2 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 2 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 2 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 2 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 2 年前 |
|
Kugelfisch · 用php为数据库加密数据 2 年前 |