CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾 部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
InnoDB 存储引擎和数据列 建议使用 VARCHAR类型 对于InnoDB数据表,内部的行存储格式没有区分固定长度和可变长度列(所有数据行 都使用指向数据列值的头指针),因此在本质上,使用固定长度的 CHAR列不一定比使 用可变长度VARCHAR列简单。因而,主要的性能因素是数据行使用的存储总量。由于CHAR 平均占用的空间多于VARCHAR,因 此使用VARCHAR来最小化需要处理的数据行的存储总 量和磁盘I/O是比较好的。