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