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