dan*_*lex 1 database database-design
我不是DBA,但我尊重数据库理论.是不是添加了像isDeleted和sequenceOrder这样糟糕的数据库实践的列?
Dav*_*ith 13
那要看.如果需要稍后访问该元组(例如,计算已删除的内容,或进行某种类型的历史分析),则能够软删除元组(即,将其标记为已删除而不是实际删除它)是必不可少的.根据索引的结构,它还有一个可能的好处,即在软删除行时(通过触及较少的索引)导致较少的磁盘流量损失.缺点是应用程序负责管理软键删除外键.
如果为了性能而进行软删除,则定期(例如,每晚,每周)任务可以在低流量时段期间清除软删除的元组.
对某些元组使用显式的"序列顺序"在某些情况下很有用,尤其是 当依赖某些其他领域(例如,ID,应用程序开发人员受过培训而不信任)不可能或明智地订购需要出于商业原因以某种特定方式订购的东西时.
IsDeleted列有两个目的.
隐藏用户的记录而不是删除它,从而将记录保留在数据库中供以后使用.
提供两阶段删除过程,其中一个用户标记要删除的记录,另一个用户确认.
不确定SequenceOrder是什么.你有特定的应用程序吗?