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
可以存储所有类型的字符。也可以根据实际情况指定行的编码。