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 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