我想知道是否有一些常规的方法来处理数据库中的重复而不实际删除重复的行。或者我想要实现的特定名称,所以我可以检查一下。
我为什么要保留重复项?因为我必须监视他们。我必须知道它们是重复的并且不可搜索,但与此同时,我必须保留它们,因为我从外部源更新行,如果我要删除它们,它们会回到一旦我从外部源更新数据库。
我有两个想法:
有一个额外的布尔列“可搜索”,但我觉得这是一个部分解决方案,将来可能会变得不够
有一个额外的列“duplicate_of”。它将保留行重复的列的 id。这将是同一张表的外键,这有点奇怪。不是吗?
我知道这不是一个特定的编程问题,但我认为一定有人处理过类似的情况(Facebook - 他们跟踪那些与其他人重复的页面),并且很高兴知道经过验证的解决方案。
编辑:这些是紧密重复的,主要由它们的位置(lat,lng)确定,所以 DISTINCT 可能不是这里的解决方案