我一直在努力寻找在这里和Google都找到答案的方法,尽管我发现了一些指针,但我还没有找到解决方案。
如果您有一个带有数据库的简单RSS阅读器,则可能有几个表用于存储提要(此处忽略与订阅者打交道):
feed-url)
item-title,item-content)
在大多数情况下,这是可行的,但对于许多基于网站/网络的应用程序,您可能会从首页获得一个主要的供稿,然后是类别供稿,如果您将两者都带入上述类型的系统中,由于相同的原因帖子出现在多个rss feed中。
我想出的两个选择要么忽略它,要么接受重复项,或者使用提要和项目之间的链接表。但这似乎很浪费,因为我要提取的提要中可能有80%没有多个提要可以创建此复制的提要。
我完全错误地看待这个问题,是否有更好的方法来做到这一点?
更新
多亏了这两个答案,所以共识似乎是节省空间可能不足以令人担忧,并且可能会因未知问题(如dbr所提到)的可能性而被否定。
添加链接表或类似内容可能还会增加处理时间,因此总体上不必担心太多。在阅读了链接内容和删除重复项的响应之后,我才想到,只有当帖子不再位于任一RSS提要中时才能节省空间,但是正如阿萨夫所说的那样,节省空间可能会浪费时间。
最佳答案
我建议您在开发的这个阶段不要尝试优化提要数据的所有可能副本(我认为是设计)。集中精力使其工作,并在完成时进行分析,如果您在提要之间使用链接或共享数据,则发现确实可以节省X%的存储空间,仅,然后和(如果X足够大)我为您建议花费一些时间来优化数据库,我建议您实现任何此类更高级的方案。
关于database-design - 用于存储RSS提要的最佳数据库结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/624616/