gpt4 book ai didi

ruby-on-rails - ruby on rails 中无休止的滚动分页,每页一个查询?

转载 作者:数据小太阳 更新时间:2023-10-29 08:10:26 24 4
gpt4 key购买 nike

典型的 Rails 分页 gem 的问题在于它执行 2 个查询:一个用于您所在的页面,一个用于总计数。当您不关心有多少页时(例如,在无休止的滚动中),第二个查询是不必要的(只需在第一个查询的 LIMIT 子句中添加 1,您就知道是否有更多)。

是否有 gem 可以在没有第二个查询的情况下进行分页?当在我的 WHERE 子句中对大型数据集应用非索引过滤器并且索引我所有的各种过滤器是 Not Acceptable 时,第二个查询是昂贵的,因为我需要我的插入速度很快。

谢谢!

最佳答案

想通了。使用 will_paginate gem 时,您可以向 AR:Base.paginate 提供自己的 total_entries 选项。这使得第二个查询不会运行。

这适用于您只关心最近条目的足够大的数据集。

如果您确实希望到达列表的末尾,这不一定是可以接受的,因为如果列表大小可以被 per_page 整除,您将在最后一个查询中查询一个空集。有了无尽的滚动,这很好。使用手动“加载更多”按钮,当没有更多项目要加载时,您将在最后显示“加载更多”。

关于ruby-on-rails - ruby on rails 中无休止的滚动分页,每页一个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7043267/

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