1
几乎所有应用程序都需要标记为删除数据存储中的一些实体。根据业务逻辑的不同,这些实体可能会被物理删除,或者只是如上所述的“软删除”。优化“软删除”实体索引号
一个明显的方式去与谷歌数据存储这是有一个索引属性,它存储软删除信息。例如:
Post
- Title
- Body
- IsDeleted
这种方法的问题在于,为了跟踪一个非常小的数字软删除实体的,所有的人都必须忍受一个额外的指数的开销。
当软删除的实体非常小时,有什么策略可以避免索引?
我能想到的一种方法是将实体种类从Post
改为DeletedPost
,这涉及物理删除旧实体并创建一个新实体。
我想你是指在查询和内存中排除删除的实体。这会弄乱分页之类的事情:删除已删除的实体后,每页的项目数量不一致。 – ali
然后你正在计算你的记录计数不正确。您无法使用所有内容的记录数,并且只能通过未删除的记录。相同的逻辑必须适用于分页。 –