如何添加对 post(社交网站)的反应
how to add a reaction to a post (social website)
我是 sql 的新手,我想知道添加对 post 的反应的最佳方式是什么,例如我们可以在 Twitter 中看到您回复推文的示例,到目前为止,我已经找到了这两种方法,但我不知道应该使用哪一种:
- 添加反应 table 将对 pk id_react 和 id_post, id_react in auto_increment 任何用户在网站任何页面上做出的每个反应
这个更容易放置,但我不知道它是否真的适用于大型网站,因为它会导致一个非常大的屁股 table 并且我在问自己是否不会在长时间 运行
[=29 中使对这些反应的搜索变慢=]
-
为每个创建的 post 创建一个新的 table 反应
这个会 "erase" 数据库大小的问题,尽管这意味着缓和与 [= 一样多的反应 tables 38=];所以在这里我不知道哪种解决方案在理论上最适合解决此类问题
每个 post 的新 table 我觉得不太好。您最终可能会得到数百万个 table,其中大部分是空的,没有性能优势,而且维护负担很大。
我会再选择一个 table 来存储所有的反应,并将 post_id
作为外键。
但是您关于拥有更多独立 table 的直觉并没有错:一个类似的功能被称为 partitioning,并且在所有主要关系数据库中都可用。
我是 sql 的新手,我想知道添加对 post 的反应的最佳方式是什么,例如我们可以在 Twitter 中看到您回复推文的示例,到目前为止,我已经找到了这两种方法,但我不知道应该使用哪一种:
- 添加反应 table 将对 pk id_react 和 id_post, id_react in auto_increment 任何用户在网站任何页面上做出的每个反应
[=29 中使对这些反应的搜索变慢=]
- 为每个创建的 post 创建一个新的 table 反应
这个会 "erase" 数据库大小的问题,尽管这意味着缓和与 [= 一样多的反应 tables 38=];所以在这里我不知道哪种解决方案在理论上最适合解决此类问题
每个 post 的新 table 我觉得不太好。您最终可能会得到数百万个 table,其中大部分是空的,没有性能优势,而且维护负担很大。
我会再选择一个 table 来存储所有的反应,并将 post_id
作为外键。
但是您关于拥有更多独立 table 的直觉并没有错:一个类似的功能被称为 partitioning,并且在所有主要关系数据库中都可用。