MySQL 中 VARCHAR 和 CHAR 的區別
Preet Sanghavi
2022年5月13日
本教程將介紹 MySQL 中 varchar
和 char
之間的區別。
每個部分的一些關鍵點如下。
CHAR
CHAR
是一種支援字串的固定空間資料型別。- 文字或字串中的空白或剩餘空格用空格或空格替換。
CHAR
對輸入字串或文字中的每個字元采用一個位元組大小。- 因此,我們可以說,如果我們定義
CHAR(100)
,無論字串長度或字元數是多少,它將保持 100 位的大小。
VARCHAR(M)
VARCHAR
具有最多 65535 個字元的可編輯大小。使用者必須指定 1 到 65535 個字元之間的長度。- 此外,
VARCHAR
在字元總數小於或等於 255 的磁碟中佔用x + 1
位元組空間。並且在字元總數小於或等於 255 的磁碟中佔用x + 2
位元組空間 of characters 大於或等於 256 個字元且小於等於 65535 個字元。 - 最後,
VARCHAR
可以是索引的一部分。
因此,我們可以總結出關鍵的區別:varchar
不是固定長度,而 char
是固定長度或固定大小。
實際上,我們可以假設使用 varchar
比使用 char
資料型別更好。這種假設背後的原因是使用 varchar
資料型別可以節省大量空間。
讓我們看一個例子來實現 varchar
的優勢。
假設我們將一個 char
定義為 char(25)
並將字串值儲存為 Preet
。另一方面,讓我們定義另一列,其資料型別為 varchar
,一個字串值為 Preet
。
即使這些具有不同資料型別的列具有值 Preet
,varchar
將僅消耗 5 位,而 char
將消耗整個 25 個預定義位大小。剩餘的空白空間用 char
空白填充。
varchar
的這種優勢在儲存是一個大問題的生產環境中可能是巨大的。此外,如果我們使用 varchar
,我們不需要擔心我們的字串大小超過預定義的位值。
Author: Preet Sanghavi