数据库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类型适合存储经常更新的字符串列
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章