MySQL中的VARCHAR和CHAR有什么区别?

我正在尝试存储MD5哈希。


当前回答

CHAR

使用特定的内存分配 时间效率

VARCHAR

使用动态分配内存 记忆效率

其他回答

CHAR是固定长度,VARCHAR是可变长度。CHAR总是对每个条目使用相同数量的存储空间,而VARCHAR只使用存储实际文本所需的空间。

一个CHAR(x)列只能有x个字符。 一个VARCHAR(x)列最多可以有x个字符。

由于你的MD5哈希值总是相同的大小,你可能应该使用CHAR。

然而,你不应该首先使用MD5;它的弱点是众所周知的。 请改用SHA2。 如果要对密码进行哈希,则应该使用bcrypt。

Char有一个固定的长度(支持2000个字符),它代表字符是一种数据类型

Varchar具有可变长度(支持4000个字符)

VARCHAR是可变长度的。

CHAR是固定长度。

如果您的内容是固定大小的,那么使用CHAR将获得更好的性能。

请参阅MySQL页面上关于CHAR和VARCHAR类型的详细解释(一定要阅读注释)。

Char或varchar-用于输入文本数据,长度可以用括号表示 Eg- name char (20)