#### 1. varchar 和 char 共同點(diǎn) ---- varchar 和 char 是 MySQL 中的兩種數(shù)據(jù)類型,都是用來存儲字符串的。 #### 2. varchar 和 char 區(qū)別 ---- 一、長度是否可變 varchar 類型的長度是可變的,而 char 類型的長度是固定的 char 類型是一個定長的字段,以 char(10) 為例,不管真實(shí)的存儲內(nèi)容多大或者是占了多少空間,都會消耗掉 10 個字符的空間 坦通俗來講,當(dāng)定義為 char(10) 時,即使插入的內(nèi)容是 `'abc'` 3 個字符,它依然會占用 10 個字節(jié),其中包含了 7 個空字節(jié) 二、存儲長度 char 長度最大為 255 個字符,varchar 長度最大為 65535 個字符 三、檢索效率方面 varchar 類型的查找效率比較低,而 char 類型的查找效率比較高 #### 3. varchar 和 char 的選擇 --- 存儲的字符長度是可變化的,建議使用 varchar 類型,它可以節(jié)省存儲空間。varchar 最常見的使用場景有: 昵稱,地址 存儲的字符串的長度是固定不變的,建議使用 char 類型,這種場景下選用它的不會浪費(fèi)存儲空間,效率還比較高。使用場景:使用 md5 加密的密碼長度固定為 32 位字符 總結(jié): 可變長度使用 varchar,固定長度使用 char