MySQL中的VARCHAR和CHAR有什么区别?
我正在尝试存储MD5哈希。
MySQL中的VARCHAR和CHAR有什么区别?
我正在尝试存储MD5哈希。
当前回答
CHAR
使用特定的内存分配 时间效率
VARCHAR
使用动态分配内存 记忆效率
其他回答
char是一种定长字符数据类型,varchar是一种变长字符数据类型。
由于char是一种固定长度的数据类型,因此char值的存储大小等于此列的最大大小。因为varchar是一种变长数据类型,所以varchar值的存储大小是输入数据的实际长度,而不是该列的最大大小。
当期望列中的数据项具有相同的大小时,可以使用char。 当一个列中的数据条目在大小上有很大变化时,可以使用varchar。
CHAR Vs VARCHAR
CHAR用于固定长度大小变量 VARCHAR用于可变长度大小变量。
E.g.
Create table temp
(City CHAR(10),
Street VARCHAR(10));
Insert into temp
values('Pune','Oxford');
select length(city), length(street) from temp;
输出将是
length(City) Length(street)
10 6
结论:如果变长是可变的,必须使用VARCHAR而不是CHAR来有效地利用存储空间
CHAR
使用特定的内存分配 时间效率
VARCHAR
使用动态分配内存 记忆效率
字符:
同时支持字符和数字。 支持2000个字符。 固定长度。
VARCHAR:
同时支持字符和数字。 支持4000字符。 可变长度。
任何评论 ......!!!!
VARCHAR是可变长度的。
CHAR是固定长度。
如果您的内容是固定大小的,那么使用CHAR将获得更好的性能。
请参阅MySQL页面上关于CHAR和VARCHAR类型的详细解释(一定要阅读注释)。