1、varchar與char兩個數據類型用於存儲字元串長度小於255的字元,MySQL5.0之前是varchar支持最大255。比如向一個長度為40個字元的欄位中輸入一個為10個字元的數據。使用varchar取為10個字元;使用char取為40個字元。 2、varchar占用更少的存儲空間,擁有額外
1、varchar與char兩個數據類型用於存儲字元串長度小於255的字元,MySQL5.0之前是varchar支持最大255。比如向一個長度為40個字元的欄位中輸入一個為10個字元的數據。使用varchar取為10個字元;使用char取為40個字元。
2、varchar占用更少的存儲空間,擁有額外1-2個位元組存儲長度(比如:列長度<=255時,varchar(255)會占用256個位元組存儲空間加1,varchar(256)會占用258個位元組存儲空間加2),5.0以上版本,取值或設置值都會保存字元串末尾的空格,4.1之前的版本都會把字元串末尾的空格刪除掉,最大長度遠大於平均長度,很少發生更新的時候適合使用varchar,因為碎片更少了。
3、char使用固定長度,保存的時候會去掉字元串末尾的空格,適合保存MD5後的哈希值或經常改變的值,因為固定的行不容易產生碎片,處理的速度比varchar快,因此,用戶在設計資料庫時應當綜合考慮各方面的因素,以求達到最佳的平衡。