1 数据库设计
1.1 表关系梳理
- 仔细思考业务关系,得到如下表关系图
1.2 用户表结构
1.3 分类表结构
id=0为根节点,分类其实是树状结构
1.4 商品表结构
- 注意价格字段的类型为 decimal
1.5 支付信息表结构
1.6 订单表结构
- 乍一看,有必要搞这么多种的时间嘛?有以下诸多原因
- 前端显示需要,那就必须存着呀!
- 方便定位排查问题,比如某用户投诉某订单一直不发货,肯定就需要时间去定位
- 方便数据分析,比如需要计算从用户支付到最终发出商品的平均时间
- 根据订单状态确认相应订单时间
单索引及组合索引
表结构
时间戳
唯一索引
参考
- 高性能 MySQL 第三版
- Java支付电商平台实战