【问题标题】:One table or multiple tables for data having only one column change一张表或多张表用于只有一列更改的数据
【发布时间】:2014-05-13 04:58:12
【问题描述】:

我在 SQL Server 数据库表中有四种类型的数据:论坛主题文章主题聊天主题QnA主题。这些具有相同类型的列:IDTitleContentUsertype 等。唯一的区别是 type 列用于检测当前内容是否为 论坛主题(type = 0) 或文章主题(type = 1) 等等。

我的同事说最好将它们存储在单独的表中,即ForumTopicsArticlesChatsQnAs。但在我看来,这不是一个好主意,因为基于这些内容的 C# 方法会有所不同,我必须为每个表的每个操作编写具有相同逻辑的多个函数,或者在一个函数中进行条件检查em>论坛主题(type = 0) 或文章主题(type = 1) 或其他。

请告诉我哪种方法更好?

【问题讨论】:

    标签: c# mysql sql sql-server database


    【解决方案1】:

    使用一个表是更好的方法,因为如果数据存储在单独的表中,则很难维护数据,您必须编写复杂的查询。 如果您使用多个表,则必须使用联接或子查询来检索数据,这会降低性能。
    所以选择一张桌子。

    【讨论】:

      【解决方案2】:

      一张桌子是更好的方法,因为它将为您提供未来的灵活性。您将能够执行以下操作:

      • 为特定用户选择所有内容
      • 在所有标题中搜索内容

      除了多个表更难维护之外,您是对的。 C# 代码中的复杂性和重复性也会更高,多个表也是如此。

      【讨论】:

        猜你喜欢
        • 2011-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-31
        • 1970-01-01
        • 2012-04-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多