Mysql varchar與char區別

區別一,定長和變長
char 表示定長,長度固定,varchar表示變長,即長度可變。

char如果插入的長度小於定義長度時,則用空格填充;

varchar小於定義長度時,還是按實際長度存儲,插入多長就存多長。(但是如果存的數值超過固定長度,超出部分則會被捨棄。如:varchar(2),存:'abcd',則實際存入數據庫只有‘ab’);


因爲其長度固定,char的存取速度還是要比varchar要快得多,方便程序的存儲與查找;但是char也爲此付出的是空間的代價,因爲其長度固定,所以會佔據多餘的空間,可謂是以空間換取時間效率。varchar則剛好相反,以時間換空間。


區別之二,存儲的容量不同
對 char 來說,最多能存放的字符個數 255,和編碼無關。
而 varchar 呢,最多能存放 65532 個字符。varchar的最大有效長度由最大行大小和使用的字符集確定。整體最大長度是 65,532字節。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章