一、字段类型优先级
- 数字类型
- 日期类型与二进制类型
- 字符串类型
二、字段类型优先级
原则:优先选择存储空间的数据类型
InnoDB引擎页长度16K
- 数字类型
- 日期类型与二进制类型
- 字符串类型
三、整数类型
整数类型
四、实数类型
实数类型
五、VARCHAR类型
- 使用最小的符合需求的长度
- VARCHAR(255)以下使用额外一个字节保存长度
- VARCHAR(255)以上使用额外两个字节保存长度
- VARCHAR(5)与VARCHAR(200)内存占用不同
注意VARCHAR在内存中存储是定长的 - VARCHAR变更长度时会出现锁表
六、VARCHAR的使用场景
- VARCHAR适合存储长度波动大的数据,(如博客文章)
- 字符串很少被更新的场景
- VARCHAR适合保存多字节字符
七、CHAR类型
CHAR属于定长数据
- CHAR最大长度255
- CHAR类型会自动删除末尾的空格
- CHAR检索效率比VARCHAR高
八、CHAR的使用场景
- CHAR适合存储长度波动不大的数据,如MD5摘要
- CHAR适合存储短字符串
- CHAR类型适合存储经常更新的字符串