MySQL表设计实践
1、表名:应体现具体业务含义,全部小写,多个单词下划线分割。
2、字段:字段名应体现具体业务含义,全部小写、多个单词下划线分割,选择合适的数据类型,并且加注释
每个表应具有以下公共字段:
字段名 | 字段类型 | 字段说明 |
id | int(11)/bigint(20) | 自增主键id |
create_user_id | int(11)/bigint(20) | 创建人id |
create_user_name | varchar(32) | 创建人姓名 |
create_time | datetime | 创建时间 |
update_user_id | int(11)/bigint(20) | 更新人id |
update_user_name | varchar(32) | 更新人姓名 |
update_time | datetime | 更新时间 |
delete_flag | tinyint(4) | 删除标记,0-未删除 1-已删除 |
3、索引
主键索引:推荐用自增id作为主键
唯一索引:根据业务场景添加
普通索引 / 联合索引:频繁作为查询条件,并且值的区分度高的字段可添加索引
4、外键:不推荐使用,会降低性能,应通过程序逻辑去控制