数据库设计
-
订单模块.PNG
建主外键关系?VS 不建主外键关系? - 数据一致性
- 程序自身也得保证数据一致性
CREATE TABLE `orders` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`business_id` int(11) DEFAULT NULL COMMENT '商户主键',
`member_id` int(11) DEFAULT NULL COMMENT '会员主键',
`num` int(11) DEFAULT NULL COMMENT '消费人数',
`comment_state` int(1) DEFAULT NULL COMMENT '评论状态 -- 0:未评论 2:已评论',
`price` decimal(11,2) DEFAULT NULL COMMENT '价格(消费金额)',
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
-
订单表.PNG
为什么不用手机号做关联,要用订单主键做关联?
手机号修改时,会员表也要修改
订单数量怎么统计?
定时任务 -
定时任务.PNG
定时任务实现:
- 定时任务实现.PNG
- 注解的方式比较麻烦,得从代码中去看,使用xml进行配置
- 订单数量与商户星级随着购买人数的增加一直在增加,若通过全表扫描来更新数量,sql语句的执行时间也会逐渐增加,怎么办?
可以给表设置上次更新时间,每次更新时,只从表中统计上次更新时间以后的数据的数量,每次更新结束后,将上次更新时间设置为当前时间,
网友评论