MySQL 中 VARCHAR 和 TEXT 的区别

Preet Sanghavi 2022年5月14日
  1. MySQL TEXT
  2. MySQL VARCHAR(M)
MySQL 中 VARCHAR 和 TEXT 的区别

我们将在本文中讨论 MySQL 中 VARCHARTEXT 之间的区别。一些主要区别如下。

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) 而不是 TINYTEXTTEXT,如果有人试图将 Sapiens 整本书的文本存储在你的数据库中,则只会保存前 30 个字符。

因此,借助本教程,我们可以了解 MySQL 数据库中 VARCHARTEXT 之间的主要区别。

作者: Preet Sanghavi
Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub