MySQL 数据库设计
时间:2019-05-30 14:50:25
数据库表设计#
存储引擎#
- 出于对对稳定性和数据安全的考虑一般选择
InnoDB, 当对数据安全要求不是很高,想要提升一定的速度可以选择MyISAM。
字段类型选择#
- 满足项目需求,考虑扩展和最坏情况。
- 表示清晰。
- 占用空间尽量小,尽量使用小的数据类型,基础类型如
int指定长度与否不会底层存储的长度都是 32 位。 - 字段尽量设置为
NOT NULL, 且设置默认值。 - 金额等精度要求较高的数字使用
Decimal,占用空间大,其余情况尽量避免使用。 - 字符串存储
char和varchar,参考注意事项。 - IP地址32位无符号整数存储。
注意:
int(100) int(20): 字段字段占用的长度是一样的。char(100):字段占用长度就是100。varchar(100): 字段占用的长度是实际存储的数据长度加上表示字段长度的字节数(1[0-255]或2[256-2^16-1])int长度为32。有符号最大值为2147483647,存储的最大日期为2038-01-19 11:14:07。 无符号最大值为4294967295,存储的最大日期为2106-02-07 14:28:15。
字符编码#
- 推荐使用
utf8mb4可以存储所有类型的字符。也可以根据实际情况指定行的编码。