MySQL 中 VARCHAR 和 CHAR 的区别
Preet Sanghavi
2022年5月13日
本教程将介绍 MySQL 中 varchar
和 char
之间的区别。
每个部分的一些关键点如下。
CHAR
CHAR
是一种支持字符串的固定空间数据类型。- 文本或字符串中的空白或剩余空格用空格或空格替换。
CHAR
对输入字符串或文本中的每个字符采用一个字节大小。- 因此,我们可以说,如果我们定义
CHAR(100)
,无论字符串长度或字符数是多少,它将保持 100 位的大小。
VARCHAR(M)
VARCHAR
具有最多 65535 个字符的可编辑大小。用户必须指定 1 到 65535 个字符之间的长度。- 此外,
VARCHAR
在字符总数小于或等于 255 的磁盘中占用x + 1
字节空间。并且在字符总数小于或等于 255 的磁盘中占用x + 2
字节空间 of characters 大于或等于 256 个字符且小于等于 65535 个字符。 - 最后,
VARCHAR
可以是索引的一部分。
因此,我们可以总结出关键的区别:varchar
不是固定长度,而 char
是固定长度或固定大小。
实际上,我们可以假设使用 varchar
比使用 char
数据类型更好。这种假设背后的原因是使用 varchar
数据类型可以节省大量空间。
让我们看一个例子来实现 varchar
的优势。
假设我们将一个 char
定义为 char(25)
并将字符串值存储为 Preet
。另一方面,让我们定义另一列,其数据类型为 varchar
,一个字符串值为 Preet
。
即使这些具有不同数据类型的列具有值 Preet
,varchar
将仅消耗 5 位,而 char
将消耗整个 25 个预定义位大小。剩余的空白空间用 char
空白填充。
varchar
的这种优势在存储是一个大问题的生产环境中可能是巨大的。此外,如果我们使用 varchar
,我们不需要担心我们的字符串大小超过预定义的位值。
Author: Preet Sanghavi