gpt4 book ai didi

mysql - 我应该在数据库中复制数据吗?

转载 作者:搜寻专家 更新时间:2023-10-30 19:58:33 24 4
gpt4 key购买 nike

我有一个包含网站页面条目的 MySQL 数据库。假设它有如下字段:

Table pages:

id | title | content | date | author

每个页面都可以由用户投票,所以我还有另外两个表

Table users:
id | name | etc etc etc

Table votes:
id | id_user | id_page | vote

现在,我有一个页面,其中显示了包含各种信息的页面列表(一次 10-50 个)以及该页面的平均投票数。

所以,我想知道是否更好:

a) 运行查询以显示页面(请注意,这已经相当繁重,因为它查询三个表),然后对每个条目执行另一个查询以计算平均投票(或向主查询添加第 4 个连接? ).

b) 在页面表中添加一个“平均投票”列,当用户对页面进行投票时,我将更新该列(连同投票表)。

尼可

最佳答案

按照数据库的用途使用数据库;到目前为止,选项 a 是您最好的选择。值得注意的是,您的查询实际上并不是特别繁重,连接了三个表; SQL 非常擅长这类事情。

请谨慎对待这种过早优化 SQL 的尝试; SQL 的执行效率远比大多数人想象的要高。

请注意,使用您的选项 a 的另一个好处是需要维护的代码更少,并且随着代码更新而出现数据分歧的可能性更小;这是一个生命周期的好处,而且它们经常被忽略,因为微不足道的优化好处。

关于mysql - 我应该在数据库中复制数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4187367/

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