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