问题:

起初删除的商品只是让active字段标记为0,不在前端显示,实际还存在于数据库里。

相关的订单展示页,还会调用到被隐藏的商品信息。随着系统的使用,商品主表会越来越大,如何切实的删除过期商品,并且不影响订单记录的展示呢?

解决思路1:

1)利用一个【商品删除表】,保存已删除的商品信息。商品的信息查询出来后固定化到一些字段里,不再关联其他主表,仅供查看。

2)订单方面,增设一个字段,在删除相关商品时,标志该字段为真,表示该订单的商品已经删除,如需查询,则到【商品删除表】里查找。

效果:缓解了查询【商品表】时的大数据压力,增加了商品删除和订单查询的逻辑复杂度。

特别之处是,商品删除之前,订单相关的商品信息是和前端保持同步的。

解决思路2:

1)利用一个【订单商品表】,在新建订单时,查询相关商品信息,固定化到【订单商品表】中,后续每次修改保存都操作一次。

2)查询订单的时候,直接查询【订单商品表】。【商品表】的修改不影响订单中的商品信息。

效果:缓解了查询【商品表】时的大数据压力,增加了订单操作的逻辑复杂度。

特别之处是,定格了订单销售时的商品信息,后续商品的变化不影响订单的记录。

解决思路3:

1)定期增量备份数据到本地数据库,线上删除商品时,连同相关订单一起删除。

2)要查询久远的订单时,本地查询。

效果:缓解了查询【商品表】时的大数据压力,不需要增加任何逻辑代码。

风险:数据备份不是一定成功,出现备份事故时,数据将无法恢复。

总结:

个人觉得方法2的思路较适合电商系统。但不排除思路1也有用到的时候。

至于思路3,对已经在运营的系统,时间紧迫下可以采取,但要熟练运用数据库增量备份技术。

转载于:https://blog.51cto.com/caryblues/1414529

删除商品时,如何不影响订单里该商品相关的信息显示相关推荐

  1. zencart删除或清空网站的所有订单,顾客,和商品

    要彻底清空数据,最好还是重新执行一次安装脚本 zc_install/index.php ,简单而彻底. 如果要手动删除部分数据,参考下面的脚本. # ------------------------- ...

  2. luffcc项目-11-购物车实现,切换有效期选项、购物车商品的删除操作,结算页面,订单的生成

    购物车实现 一.切换有效期选项 1.改变课程有效期 要实现课程有效期的计算,则必须我们要清楚一个课程可以有1到多个有效期选项.默认保存在课程模型中的价格如果有值,则这个值是永久有效的购买价格.如果有别 ...

  3. 方维模板修改,发布分享、主题有商品时,标签需自动写到input里,不要再手动去点击添加,手动点击可取消...

    方维模板修改,发布分享.主题有商品时,标签需自动写到input里,不要再手动去点击添加,手动点击可取消 方维购物分享系统模板修改,发布分享.主题有商品时,标签需自动写到input里,不要再手动去点击添 ...

  4. 写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里的商品列表

    写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里的商品列表 写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商 ...

  5. python 数据结构定义_【Python】数据结构如何定义以及清理 例如订单的附带商品信息数据...

    订单内商品数据应该怎么保存 方案一 在订单创建的时候直接把商品数据保存在订单里面,作为订单的一个附属字段 这样子后续修改商品,不会对已经在订单内的商品任何影响 问题:如果商品修改不频繁的情况下,会大量 ...

  6. 【JAVA EE#6】【传智书城·源码阅读】后台管理模块:权限控制+页面分析+商品管理+销售榜单+订单管理+公告管理+项目结构思维导图

    权限控制 普通用户只能访问client文件夹下面的jsp文件,对于没有权限操作的admin文件夹就会提示错误,而超级用户同时可以访问两者,一直很好奇这个权限限制怎么实现的. 原来在存在一个AdminP ...

  7. 弘辽科技:淘宝商品降权的影响是什么?为什么被降权?

    卖家都知道如果不依据淘宝平台规则行事便会产生一定的影响,淘宝号降权就是其中的一个,但是我们都不知道为什么会出现淘宝号降权这种情况,淘宝商品降权的影响是什么? 一.淘宝商品降权的影响是什么? 针对不同违 ...

  8. 为什么cinder-volume在删除volume时无反应 (by quqi99)

    版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 (作者:张华 发表于:2018-08-30) 问题 cinder-volumes在删除volume时很慢, 并且 ...

  9. SAP MM 移动平均价的商品发票价格和采购订单价格差异的处理

    SAP MM 移动平均价的商品发票价格和采购订单价格差异的处理 SAP系统中,如果某个商品采用移动平均价,则一般而言,采购订单和发票上的价格差异,不会计入价差科目里,当然前提是库存数量大于发票上的数量 ...

最新文章

  1. Markdown语法简介
  2. 关于学习Python的一点学习总结(24->列表推导)
  3. 超强TP-Link!北大清华联手开设通用AI实验班,朱松纯领衔
  4. 035、Linux下Dmidecode查看硬件信息
  5. 如何在Access中参数化日期类型,以解决Data type mismatch in criteria expression的问题...
  6. 干货:MySQL 索引原理及慢查询优化
  7. 猪和兔子的玻璃体给人用(仅仅是个人想法)
  8. WebStorm取消默认style样式折叠
  9. c语言vs2017链表出错,【C++单链表就地逆置】程序无error错误,求指点TAT。
  10. 量子计算机拓扑超导新状态,陈根:特殊超导体,有助于量子计算机运行
  11. HDFS某个节点的磁盘满了
  12. java模拟面试题目_JAVA模拟面试题库
  13. VOD紧急抱团是利是弊?
  14. 深度学习实战 第7章循环神经网络笔记
  15. fgetc、fputc、fputs、fgets的使用
  16. 电子计算机技发展趋势,现代电子信息技的现况及发展趋势.ppt
  17. 学好ARM开发的意义
  18. 长安大学计算机控制技术期末试题,长安大学汽车理论期末试卷及答案
  19. 服务器系统安装——以Dell R710为例
  20. Java实现还原微博短链接

热门文章

  1. Python 自动化教程(5) : 自动生成Word文件
  2. 创建一个Rectangle类。 添加两个属性width、height,分别表示宽度和高度,添加计算矩形的周长和面积的方法。测试输出一个矩形的周长和面积。
  3. 事件抽取文献整理(2018)
  4. 黑马程序员——java基础之抽象与接口
  5. windows聚焦壁纸不更新_win10系统锁屏壁纸聚焦不更新的解决方法
  6. html5绘制渐变图形-线性渐变
  7. 写给工程师的 10 条精进原则
  8. 嵌入式Linux驱动学习【9】—— Nor Flash
  9. 世界上首先实现存储的电子数字计算机,世界上首先实现存储程序的电子数字计算机是ENIAC。...
  10. cartographer 老版本 UKF