Mysql基础知识之数据库字段设计规范
优先选择符合存储需要的最小的数据类型
将字符串转化为数字类型存储,例如将ip地址转为整数类型
VARCHAR(N)中的N代表的是字符数(即可以存储255个汉字),而不是字节数
使用UTF8存储汉字 Varchar(255)=765个字节
过大的长度会消耗更多的内存
避免使用TEXT、BLOB数据类型
TinyText、Text、 MidumText、 LongText
建议把BLOB或是TEXT列分离到单独的扩展表中
TEXT或BLOB类型只能使用前缀索引
避免使用ENUM数据类型
修改ENUM值需要使用 ALTER语句
ENUM类型的 ORDER BY操作效率低,需要额外操作
禁止使用数值作为ENUM的枚举值
尽可能把所有列定义为 NOT NULL
索引NULL列需要额外的空间来保存,所以要占用更多的空间
进行比较和计算时要对NULL值做特别的处理
使用 TIMESTAMP或 DATETIME类型存储时间
TIMESTAMP1970-01-0100:00:01~2038-01-19 03:14:07
TIMESTAMP占用4字节和NT相同,但比NT可读性高
超出 TIMESTAMP取值范围的使用 DATETIME类型
同财务相关的金额类数据,必须使用 decima类型
1,非精准浮点:float、double
2.精准浮点:decimal
同财务相关的金额类数据,必须使用 decimal类型
Decima类型为精准浮点数,在计算时不会丢失精度
占用空间由定义的宽度决定
可用于存储比 bigint更大的整数数据