【问题标题】:News and news archive in different tables不同表格中的新闻和新闻存档
【发布时间】:2010-02-25 00:05:07
【问题描述】:

我遇到过新闻和新闻存档在不同表中的情况。
鉴于这些表包含许多记录并且两者共享完全相同的结构,将它们拆分而不是使用将它们标记为已归档的标志仍然是明智的吗?

【问题讨论】:

    标签: database-design


    【解决方案1】:

    如果没有存档,您的新闻表会更快。您必须问自己是否经常在同一个查询中遇到两者。如果不是,那么将它们分开可能是有意义的。

    还必须问自己存档的实际含义是什么? 1岁,2岁。我猜这只是在新闻页面或新闻档案页面上显示的标志。如果您确实合并到一个表中,也许您可​​以使用逻辑 > 1 岁是存档。

    您还可以创建一个将两个表联合在一起的视图。

    【讨论】:

    • @Ryu:UNION,你的意思是 UNION ALL。
    • 它们使用相同的查询,但现在它们被分成不同的表和不同的存储过程。我不会改变它,因为它是一个我自己没有编程的遗留系统,但我问这个,所以我会知道如何为进一步的项目设计。如果我加入这些表格,SELECT 存档新闻或新闻会更快吗?如果我将 dateCreated 字段作为主键之一会有帮助吗?
    • @the_drow dateCreated 在聚集索引中会很好,但不是主键。
    【解决方案2】:

    您还可以考虑根据文章是否标记为存档对数据进行分区。这样,至少您可以更改结构而无需记住修复另一个表,并且您仍然可以从仅包含活动记录的分区中获得更快的性能。但是,如果系统已经到位并且可以正常工作,那么最好只是忍受它。如果我是您的客户,除非当前结构出现问题,否则我不会付钱让您进行此更改。

    【讨论】:

    • 我不是要求这改变旧系统。这是一个现有的情况,我想问是否应该避免它。
    猜你喜欢
    • 1970-01-01
    • 2011-01-29
    • 2013-07-25
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    相关资源
    最近更新 更多