數據庫MySQL-varchar與char類型

4. varchar 和char類型

4.1 varchar類型的存儲特點
  1. 用於存儲變長字符串, 只是佔用必要的存儲空間. 記得存儲的是字符爲單位. 30個字符並不代表是30個字節, 需要根據具體選擇的編碼格式來進行確定的
  2. 列的長度小於255則只是佔用一個額外字節用於記錄字符串的長度
  3. 列的長度大於255則要佔用兩個額外字節用於紀錄字符串長度
  4. varchar最長爲65535, 更長的話需要使用text類型
4.2 varchar的適用場景
  1. 字符串列的最大長度比平均長度大很多
  2. 字符串列很少被更新
  3. 使用了多字節字符集存儲的字符串

備註: 在MySQL中更改數據存儲類型, 字段長度都會造成鎖表. 在繁忙的系統中都會產生極大的災難. 但是對於varchar來說如果是在255字節內任意更改大小不會進行鎖表. 因爲不需要新增額外的字節來存儲varchar的長度

4.3 char類型的存儲特點
  1. char類型是定長的
  2. 字符串存儲在char類型的列中會刪除末尾的空格
  3. char類型的最大寬度爲255
4.4 char類型的適用場景
  1. char類型適合存儲長度近似的值(例如MD5加密後的字符串, 固定的主鍵ID)
  2. char類型適合存儲短字符串(例如: 性別男女)
  3. char類型適合存儲經常更新的字符串列
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章