gpt4 book ai didi

javascript - 在MySQL中选择多行的前十个条目

转载 作者:太空宇宙 更新时间:2023-11-03 11:56:24 24 4
gpt4 key购买 nike

我有一个管理用户分数的表,例如:

    id   scoreA   scoreB    ...   scoreX
------ ------- ------- ... -------
1 ... ... ... ...
2 ... ... ... ...

现在我想创建一个记分牌,可以按每个分数排序(仅降序)。

但是,我不能只查询条目并将它们发送到客户端(使用 Javascript 呈现它们),因为该表包含数千个条目,将所有这些条目发送到客户端会造成不合理的流量。

我得出的结论是,所有不相关的条目(可能不会出现在记分牌中的条目,因为分数太低)应该根据以下经验法则在服务器端丢弃:

If any of the scores is within the top ten for this specific score keep the entry.
If none of the scores is within the top ten for this specific score discard it.

现在我遇到了一个问题,是否可以使用 (My)SQL 有效地完成此操作,或者是否应该在查询数据库的 php 代码中进行此处理以保持整个过程的性能。

非常感谢任何帮助!

最佳答案

使用行而不是列来存储分数。在 userid、score 上有复合索引。日期时间列也很有用。考虑没有前 10 名的快照表,只是您建议的查找。因此查询中的 order by score descLimit 10

并不是说下面的引用是Covering Indexes 上的权威,但为了您的调查而抛出这个词。祝你好运。

关于javascript - 在MySQL中选择多行的前十个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32412712/

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