MySQL 固定长度和可变长度列?

MySQL 固定长度和可变长度列?

我正在尝试从包含数十万行的特定表中获得更高的性能。VARCHAR我正在将一些字段转换为CHAR

CHAR我知道,如果我的表中存在任何可变长度的行,切换到固定长度字段将无法获得速度优势。但是,当我搜索 MySQL 的所有固定长度(或可变长度)字段类型的列表时,我找不到答案。我的表包含几个DECIMALDATETIME字段。我有点确定后者是固定的,但前者呢?不确定。

有人有一份明确的清单吗?

答案1

请参阅 MySQL 官方文档:部分数据类型存储要求拥有一切。

答案2

CHAR 列的长度固定为您在创建表时声明的长度。长度可以是 0 到 255 之间的任意值

VARCHAR 列中的值是可变长度的字符串。长度可以指定为 0 到 65,535 之间的值

我一直认为最好使用 VARCHAR,因为可变长度比静态 CHAR 更好

相关内容