【发布时间】:2023-04-10 21:29:01
【问题描述】:
我正在制作一个排名应用程序,并通过这种方式获得用户在排名中的位置:
$sql = "SELECT fk_player_id FROM ".$prefix."_publicpoints
WHERE date BETWEEN '2013-01-01' AND '2013-12-31'
GROUP BY fk_player_id
HAVING SUM(points) > 235";
这是按原样工作的,但有一个失败。如果我的排名有 500.000 个用户,那么查询会变得非常繁重。然后它必须遍历所有得分高于 235 的用户。假设 235 给出的位置为# 345.879。那是很多行......我怎样才能以更好的方式做到这一点?至少当我调用数据库时?
希望提前 4 点帮助和感谢 :-)
【问题讨论】:
标签: php mysql query-optimization