gpt4 book ai didi

mysql - 用mysql排名: update vs select

转载 作者:行者123 更新时间:2023-11-30 23:29:48 25 4
gpt4 key购买 nike

我正在开发一款有很多用户的网页游戏。在主屏幕上会有一张带有许多标记的 map 。每个标记都链接到一个用户,每个用户在我要显示的排名(根据他们的分数计算)中都有一个位置。

要动态计算排名的位置从here找到以下:

SET @rownum := 0;
SELECT rank, points FROM (
SELECT @rownum := @rownum + 1 AS rank, points, uid
FROM landings ORDER BY points DESC
) as result WHERE uid=xxxxxxxx

但是每次玩家将 map 移动到未开发区域时,都会为加载到 map 的每个新标记触发此查询。

另一方面,如果每次玩家完成游戏时,我都会为数据库中的每个用户更新排名字段怎么办?当然,这听起来很大,但这种情况比另一种情况发生的频率要低。你怎么认为?更新比选择效率低得多?多少钱?

感谢您的帮助!

编辑更多解释:这张图显示了屏幕。有一张带有很多标记的 map ,对于屏幕中的每个标记,我之前解释的查询都会被触发(当我通过 AJAX 加载标记时)。另一种选择是,每次用户玩游戏,当然,修改他的总点数时,数据库中假定的“排名”字段将为数据库中的每个用户更新。 enter image description here

最佳答案

不可能说哪一个会更有效率。这完全取决于对 points 列的更新次数、表中记录的总数以及排名请求的次数。如果您知道这些数字或者可以做出很好的猜测,请使用随机测试数据对其进行基准测试。如果不能,请选择最容易实现的解决方案,并在它成为问题时加以改进。

关于mysql - 用mysql排名: update vs select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11325974/

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