gpt4 book ai didi

sql - 在 SQL 表中有一个专用的计数字段是否可取?

转载 作者:行者123 更新时间:2023-11-29 14:08:08 24 4
gpt4 key购买 nike

我正在使用查询 PostgreSQL 数据库的 GraphQL API。已经创建的两个表是:

  • 用户
  • 用户关注

在第二个表中,我们为两个不同的用户存储了两个外键,这意味着第一个在第二个之后。

我在前端的同事告诉我,如果他在用户模式中有一个“followersCount”字段,这样他就不会为了知道他有多少而查询用户的所有关注者。

我天真的(或不是)解决方案是在数据库中设置两个触发器,如果​​在“users_follow”中插入了一个新的关注者,一个会增加用户表中的计数器,如果发生一次删除,另一个会递减它。

这样的设置是否可以扩展性?我应该只使用“count()”来满足模式中的“followersCount”吗?

最佳答案

古语有云:

Premature performance optimization is the root of all evil.

好吧,我想如果这是真的,世界会变得更美好。但也有一定道理。

因此,首先创建代码并尝试使用索引和分区优化查询。

然后,您可以解决其他解决方案,包括触发器、物化 View 和将 DML 操作包装在存储过程中(类似于触发器,但在我看来更易于维护)。

关于sql - 在 SQL 表中有一个专用的计数字段是否可取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58393841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com