gpt4 book ai didi

php - SQL 定期计算一个表中的所有新投票,并增加另一个表中的总计数值

转载 作者:行者123 更新时间:2023-11-29 19:11:12 26 4
gpt4 key购买 nike

我有三个表,一个包含用户创建的级别,另外两个表用于对所述级别进行赞成票和反对票。

我现在有近 1000 万张选票,并且在必要时计算某个级别的所有选票变得非常慢,因此我计划在级别表上添加两列,其中包含赞成票和反对票的计数,服务器可能每 24 小时更新一次。

不幸的是,投票表没有自动递增的主键列,而是主键是 mapid 和 userid 的组合,因此一个用户不能为同一个 map 投票两次。

因此,我在投票表中添加了一列“计数”,如果尚未添加到聚合数据中,则该列为 0,如果已添加到聚合数据中,则为 1。这样我就不需要重新计算已添加到聚合数据中的所有选票,只需重新计算新的选票。

我的查询需要:

-选择所有计票数设为0的票

-从该行获取mapid,并增加级别表中该mapid的thumbsup计数

-将该投票设置为 1

我正在使用 MySQL。非常感谢所有帮助!

Table maps_thumbsup
userid | mapid | counted

Table maps_thumbsdown
userid | mapid | counted

Table maps
id | authorname | leveldata | ... | thumbsupcount | thumbsdowncount

最佳答案

你的主表没有已经有票数了吗?

able maps_thumbsup
userid | mapid | counted

Table maps_thumbsdown
userid | mapid | counted

Table maps
id | authorname | leveldata | ... | thumbsupcount | thumbsdowncount

因此,每次有人投票时,只需使用 mysql 中的 set 命令“setthumsup=thumsup+1”,如果它没有那 2 列,则添加它,你可以向我发送你的接口(interface)类型 mysql/mysql/DBO我可以更新我的答案帖子代码以进行计数并将计数插入到新创建的列中,无需每次都计数所有选票,只需从数据库获取单个值即可使用这种方式获取选票

关于php - SQL 定期计算一个表中的所有新投票,并增加另一个表中的总计数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43068099/

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