【问题标题】:Database schema sample for storing social media post用于存储社交媒体帖子的数据库模式示例
【发布时间】:2016-10-08 05:43:56
【问题描述】:

我正在建立一个小型社交网站,我对数据库架构有疑问:

我应该如何存储用户的帖子(文本)?

我将有一个单独的 POST 表,并将通过 USERS_POST 表将 USERS 表与其链接。

但是每次显示用户个人资料上的所有帖子时,系统都必须在整个 USERS_POST 表中搜索 USER id 然后显示?

我还应该做什么?

同样,我应该如何存储用户工作或学习的多个地方?

我知道它很广泛,但我是数据库新手。 :)

【问题讨论】:

    标签: sql database postgresql psql


    【解决方案1】:

    首先不要太担心,先让它工作,看看哪里会出现性能问题。数据库可能比您预期的要快得多。此外,当您的实际查询速度太慢时,通常更容易看出最佳解决方案是什么。

    关于您的设计,如果一个帖子从未链接到多个用户,则忘记 USERS_POST 表并将用户 ID 放入 POST 表中。无论哪种情况,当数据库变大时,用户 ID 上的索引都会有所帮助(因为不必读取整个表)。

    单个用户的多个位置,您将存储在附加表中。例如称为 USERS_PLACES,给它一个列 user_id 以将其链接到 USERS 以及您希望在每个位置存储的数据的其他列。

    顺便说一句,在 postgresql 中,您可能希望将所有对象(表、列、...)名称保持小写,因为除非您注意始终像“USERS”一样引用它们,否则 postgresql 会使它们变成小写,这可能会造成混淆。

    【讨论】:

      猜你喜欢
      • 2019-06-10
      • 1970-01-01
      • 2021-08-04
      • 2013-12-18
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 2018-12-18
      • 2023-03-26
      相关资源
      最近更新 更多