Jam*_*mes 15 mysql database types
一个非常快的 - 在MySql中存储可能是一个或两个字符如CHAR(2)或VARCHAR(2)的数据更有效吗?
谢谢!
Mar*_*ers 21
就所需的存储空间而言,最好使用CHAR(2),因为VARCHAR(2)类型将需要一个额外的字节来存储长度:
Value CHAR(2) Storage Required VARCHAR(2) Storage Required '' ' ' 2 bytes '' 1 byte 'a' 'a ' 2 bytes 'a' 2 bytes 'ab' 'ab' 2 bytes 'ab' 3 bytes
见10.4.1.CHAR和VARCHAR类型了解更多详细信息.
更多信息:VARCHAR和CHAR之间有什么区别?
在空间方面,CHAR(2)更好.请参阅:http://dev.mysql.com/doc/refman/5.0/en/char.html
如果你更像CHAR(100)vs VARCHAR(100),那么空间使用效果更好取决于你拥有的数据.
在任何情况下,就查询的效率而言,当您有能力获得它们时,最好有固定长度的记录(DB可以更好地针对固定长度列进行优化).
所以CHAR(2)在空间和时间方面看起来像是胜过VARCHAR(2).