电商系统表结构设计——曾经购买

查看 124|回复 9
作者:justdoit123   
典型 order -> order item 表怎么承载 “曾经购买” 这样的功能?
这个是不是应该另外冗余一张表来存储 “用户 -> 购买过的商品” 的关联关系?
aino   
我来写的话,啥都不用设计了,order 表中肯定关联了商品表,关联查询就不就知道了这个商品是否曾经购买。
justdoit123
OP
  
@aino 是这样的,能关联查询出来。 问题是,这个关联查询 目前只能通过 user_id 找到购买的 order 记录,然后从 order 再关联 order_item 表,找到曾经购买过的商品。
这个查询在新的需求里,很高频。暂时是加 redis 缓存,但是这种 per user 的查询,缓存命中率不太高。
felmoon   
后期还要对曾经购买做分析呢
aino   
@justdoit123 #2 为啥 缓存命中率不太高,没做缓存预热嘛,可以做一遍缓存预热嘛
justdoit123
OP
  
@aino 命中不高 是跟 产品 做对比的,个人感觉而已。也行,那就对近期活跃用户做下预热。感谢~
justdoit123
OP
  
@felmoon 后期分析更多的时候是离线计算,暂时不用考虑。
me1onsoda   
你冗余了另一张表,其实不还是复制一张了 order 表😂
javalaw2010   
那就 order_item 表冗余一个 user_id 字段,然后查 order_item 表即可。
dongzhuo777   
order_item 做冗余,加一个 user_id 。。。我司之前的表就是这样处理起来顺手多了
您需要登录后才可以回帖 登录 | 立即注册

返回顶部