MySQL · 参数选择 · varchar vs char

CHAR :是一种定长字符串类型,并且必须在圆括号内用一个大小修饰符来定义,这个大小修饰符的范围从 0~255。比指定长度大的值将被截短,而比指定长度小的值将会用空格作填补。

VARCHAR :是一种可变长度的字符串类型,并且也必须带有一个范围指示器。

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

选择

选择最小的数据范围,因为这样可以大大减少磁盘空间及磁盘 I/O 读写开销,减少内存占用,减少CPU占用率