开发者社区> 问答> 正文

外卖功能中15分钟未支付则自动取消订单 热 配置报错 

外卖功能中15分钟未支付则自动取消订单,为什么不直接数据库物理删除订单,而要设置为取消,这样的订单不是冗余数据吗?

在饿了吗,美团等需要指定时间内支付,没支付则取消订单,事实上自动取消的订单一般都是无效订单吧,没有任何作用,那为什么还要保留该订单呢,直接物理删除不是更好吗,免得占用数据库

展开
收起
kun坤 2020-05-31 18:13:17 1334 0
1 条回答
写回答
取消 提交回答
  • 取消的订单也是有其数据意义的, 这些数据也是需要被挖掘,被分析的.######电商里面像订单原则上是不允许物理删除的,都是用户行为的一部分,以后的分析、风控之类的都需要这部分数据######物理删除会破坏数据库索引结构######这样的做法好处是可以用于记录的用户行为,用户订单数据的采集,假如用户频繁恶意的提交订单,但是就是不支付,物理删除的话就没有证据证明用户的行为,把这些数据保留下来就能很直观的处理,并且可以根据这些订单判断出用户的个人习惯。占用数据库就不用说了,分库分表,数据库无压力######数据库要保留起来为以后大数据分析使用######用户订单不光是“一条记录”那么简单,其中关联了相关的支付记录。你说你扣了10块(-10),但是交易失败,订单取消,难道就不要退还你10块了(+10)。这样才能达到平衡,否则就是所谓的坏账。至于楼上说的索引、大数据等也都是对的,但肯定不是关键因素######交易类的产品,基本上不会有物理删除的动作,物理删除即断档,没法回滚和追溯。再者,删除操作的成本并不低。 有些人提到要做数据分析,行为分析,并不是最重要的原因,因为这些用户分析可以通过其它行为数据获得。######取消也是订单的正常生命周期######冗余数据是这个意思的么######相当于飞机上的黑盒.  电商系统不应该出现"删除"功能, 这是我多年工作的经验. 

    2020-05-31 18:13:25
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
十分钟上线-使用函数计算构建支付宝小程序服务 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多