为了账号安全,请及时绑定邮箱和手机立即绑定

数据结构如何定义以及清理 例如订单的附带商品信息数据

数据结构如何定义以及清理 例如订单的附带商品信息数据

订单内商品数据应该怎么保存方案一在订单创建的时候直接把商品数据保存在订单里面,作为订单的一个附属字段这样子后续修改商品,不会对已经在订单内的商品任何影响问题:如果商品修改不频繁的情况下,会大量增加订单数据的大小,同一个商品下10单,10个单里面都有商品数据(特别是需求显示商品的字段较多时,比如规格,产地,单位等等等等)方案二在订单创建的时候,对商品生成一个快照存在一个商品快照表中(同一个商品可含多个快照,订单创建时判断商品快照是否为最新,最新则不新生成快照),订单内存储商品快照ID,显示订单商品时,用ID去取商品快照显示这样子后续修改商品,不会对已经在订单内的商品任何影响,问题:比如订单只保存最近一年,一年以前订单自动归档,那商品快照表就需要单独处理判断商品的快照是否该归档,如果商品快照不定期归档,数据量会无限变大方案三创建订单直接保存商品ID,显示商品的时候在去商品表里查询商品这样子最节省空间问题:如果商品删除或者修改了之后,订单也会跟着变请问大家这样子的数据究竟怎么存合适,方便清理归档,快速查询,节省空间。
查看完整描述

2 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

求大神们赐教,这个问题困扰我好久了,一直拿不定主义到底用何种方式存储。要考虑到以后订单量超大的情况,所以就怕以后需要重写,不敢随便定义。

查看完整回答
反对 回复 2018-10-29
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

最开始用的方案三,发现有问题,然后改的联合使用你的方案一和方案二

订单里面存产品id和版本号还有其他关键信息,如商品名称、价格、供应商等。(查询的时候不用连表)

然后商品还有一个带版本号的历史表,可以根据订单里的产品id和版本号关联查询到。


查看完整回答
反对 回复 2018-10-29
  • 2 回答
  • 0 关注
  • 1003 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信