后端设计 统计买家、供应商、买家在某一供应商处下单数是设计一张表还是多张表?


后端设计上的一些纠结之处 如需要实时统计买家,供应商的下单数,以及买家在某一供应商处的下单数。
有这么两种方案:
1.针对上述的三种统计分别设计一张表, 如

buyer_order_count_stats
supplier_order_count_stats
buyer_supplier_order_count_stats

优点:
查询只需查询对应的表即可获得买家,供应商,买家在某一供应商处的实时下单数
缺点:
提交订单、取消订单(买家取消、供应商取消)均需要更新三张表

2.只设计一张表 如 buyer_supplier_order_count_stats
当需要查询买家或供应商的下单数时需要通过该表group by得到, 如得到某一页的买家的下单数


 select buyer_id, sum(order_count) from buyer_supplier_order_count_stats where buyer_id in (1,2,3,4,...) group by buyer_id

优点:
提交订单、取消订单只需操作一张表
缺点
每次查询都需要实时计算买家或供应商的下单数

老是纠结于这种两可的情况, 耽误了许多开发时间。 不知道针对这一场景过来人更推荐哪种方式?

后端开发 mysql

fredmo 8 years, 5 months ago

第二种方式的话,你可以在表中添加一个字段,就是买家或供应商的下单总数,每次提交或取消订单的时候+1 或-1 就好了,这样不用每次都去统计下单数了

基佬V阿历山大 answered 8 years, 5 months ago

Your Answer