【发布时间】:2017-03-24 10:15:01
【问题描述】:
我已经阅读了this 的帖子,但我担心电子商务网站的最佳解决方案
我们的场景:
产品表
ProductID Name Price
订单详情表
OrderID ProductID
OrderDetails 表有 FK ProductID 引用到 Product 表的 ProductID
一旦产品被删除,你将如何显示历史订单报告?
选项:
软删除缺点——影响数据库存储性能
硬删除缺点 - 在获取报告时需要额外的连接查询
任何帮助都会很棒。
【问题讨论】:
-
软删除会是更好的方法。换句话说,您可以有一个单独的表来保存历史数据并将其从原始表中硬删除。
-
@viki888 感谢它,但目前我们计划对 IsDeleted 和 DeletedDate 字段使用软删除。将来如果需要,我们将移动到硬删除并将数据存档在不同的表中。
标签: sql sql-server sql-delete archive