在频繁使用的数据库中设置某种“IsDeleted”标志来简单地标记要删除的记录(然后稍后删除它们),还是应该直接删除它们更合适?
我喜欢 IsDeleted 标志方法,因为它提供了一个简单的选项来恢复数据,以防出现严重错误,我什至可以向用户提供某种“撤消”功能。我正在处理的数据相当重要。
我不喜欢 IsDeleted,因为它确实与数据检索查询混在一起,因为除了常规查询之外,我还必须通过 IsDeleted 标志的状态进行过滤。查询使用的索引不超过一个,所以我还假设这会极大地减慢速度,除非我创建复合索引。
那么,什么更合适呢?有没有更好的“中间方式”来获得两者的好处,你在使用什么以及为什么?
根据经验,我从不删除任何数据。我从事的业务类型总是有一些问题,例如“在取消客户中,有多少人拥有大小为 4 的小部件”如果我删除了客户,我怎么能得到它。或者更有可能的是,如果从小部件表中删除了大小为 4 的小部件,这将导致参照完整性问题。“活动”位标志似乎对我有用,并且索引没有太大的性能影响。
| 归档时间: |
|
| 查看次数: |
4208 次 |
| 最近记录: |