MySQL 中 VARCHAR 和 TEXT 的区别
Preet Sanghavi
2022年5月14日
我们将在本文中讨论 MySQL 中 VARCHAR
和 TEXT
之间的区别。一些主要区别如下。
MySQL TEXT
TEXT
的最大长度为 65535 个字符。在这里我们不能编辑或操纵这个值。- 它需要
x + 2
位磁盘空间。这里x
表示正在考虑的字符串的大小。 TEXT
的另一个关键特性是它不能完全成为任何索引的一部分。这意味着用户必须定义一个长度。
MySQL VARCHAR(M)
VARCHAR
具有最多 65535 个字符的可编辑大小。这意味着,用户必须指定 1 到 65535 个字符之间的长度。- 此外,
VARCHAR
需要x + 1
个字节的磁盘空间,其中字符总数小于或等于 255。它需要x + 2
个字节的磁盘空间,其中字符总数字符数大于等于 256 个字符且小于等于 65535 个字符。 - 最后,
VARCHAR
可以是索引的一部分。
其他一些差异可以理解如下:
另一个区别是你不能在 TEXT
列上创建索引(除非是全文索引)。
如果你希望该列具有索引,则必须使用 VARCHAR
。但请记住,索引的长度是有限的,因此如果你的 VARCHAR
列太大,你将只需要使用索引中的前几个字符。
但是,如果你知道可能的输入字符串的最大长度仅为 65535,则应该使用 VARCHAR
。例如,电话号码、姓名或类似内容。然后,你可以使用 VARCHAR(30)
而不是 TINYTEXT
或 TEXT
,如果有人试图将 Sapiens
整本书的文本存储在你的数据库中,则只会保存前 30 个字符。
因此,借助本教程,我们可以了解 MySQL 数据库中 VARCHAR
和 TEXT
之间的主要区别。
Author: Preet Sanghavi