我一直在努力寻找在这里和Google都找到答案的方法,尽管我发现了一些指针,但我还没有找到解决方案。

如果您有一个带有数据库的简单RSS阅读器,则可能有几个表用于存储提要(此处忽略与订阅者打交道):

  • 供稿(供稿ID ,供稿标题,
    feed-url)
  • Items( item-id ,feed-id,
    item-title,item-content)

  • 在大多数情况下,这是可行的,但对于许多基于网站/网络的应用程序,您可能会从首页获得一个主要的供稿,然后是类别供稿,如果您将两者都带入上述类型的系统中,由于相同的原因帖子出现在多个rss feed中。

    我想出的两个选择要么忽略它,要么接受重复项,或者使用提要和项目之间的链接表。但这似乎很浪费,因为我要提取的提要中可能有80%没有多个提要可以创建此复制的提要。

    我完全错误地看待这个问题,是否有更好的方法来做到这一点?

    更新

    多亏了这两个答案,所以共识似乎是节省空间可能不足以令人担忧,并且可能会因未知问题(如dbr所提到)的可能性而被否定。

    添加链接表或类似内容可能还会增加处理时间,因此总体上不必担心太多。在阅读了链接内容和删除重复项的响应之后,我才想到,只有当帖子不再位于任一RSS提要中时才能节省空间,但是正如阿萨夫所说的那样,节省空间可能会浪费时间。

    最佳答案

    我建议您在开发的这个阶段不要尝试优化提要数据的所有可能副本(我认为是设计)。集中精力使其工作,并在完成时进行分析,如果您在提要之间使用链接或共享数据,则发现确实可以节省X%的存储空间,仅,然后(如果X足够大)我为您建议花费一些时间来优化数据库,我建议您实现任何此类更高级的方案。

    关于database-design - 用于存储RSS提要的最佳数据库结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/624616/

    10-12 18:41