gpt4 book ai didi

ruby-on-rails - rails : Efficient query for X objects before/after model in ranked list

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

我有一个模型在排名列表中有一个位置(或分数,一个 float )。例如,我有:

对象A,得分27.7

对象B,得分20.3

对象C,得分15.3

在排名列表中,A 被认为排名第一,B 排名第二,C 排名第三。

我正在尝试根据分数有效地确定任何对象的位置,以及在该对象上方/下方的 X 个对象。有没有我可以构建的 gem 或查询来做到这一点?我可以加载所有对象并遍历它们,但我想找到一种更有效的方法来执行此操作,因为我有数千个对象。

最佳答案

一切都是关于权衡(就像这个世界上的一切一样)。

  1. 准确性高于效率。

    最简单的解决方案是将所有记录拉入内存并计算出那里的排名。或者您可以编写一个不太复杂的 SQL 查询。

  2. 效率高于准确性。

    预先计算排名(将其存储在列中)并运行常规作业来刷新它。以这个网站为例。联赛排名每天更新一次。而且它工作得非常快。 :-)

  3. 内存消耗的准确性和效率以及管理的简单性。

    设置 Redis 的一个实例.它对排序集有快速操作。您将付出更复杂的代码、项目中更多的移动部分和增加的内存消耗。

关于ruby-on-rails - rails : Efficient query for X objects before/after model in ranked list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947174/

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