【问题标题】:Proper way to paginate large amount of data对大量数据进行分页的正确方法
【发布时间】:2012-11-02 15:19:28
【问题描述】:

我正在使用 Rails 3 开发一个需要对大量数据进行分页的项目。对大量数据(例如论坛帖子)进行分页以最大化性能的正确方法是什么?如果我只从一个集合中获取 10 个模型并在转到下一页时再次获取,那么服务器的工作量是否会太大?还是只加载所有内容并使用 javascript 对它们进行分页会更好?

【问题讨论】:

    标签: javascript ruby-on-rails pagination


    【解决方案1】:

    假设您正在寻找 SQL 解决方案:

    拉取 10 个对象对于服务器负载来说不是问题。问题是您使用什么查询来过滤它们。如果您使用简单的主键来过滤它们或其他一些有效的标识符,它应该是完全可以的。如果您只是想一个接一个地列出页面(每页有 10 个项目),我看不出有什么问题。只需确保获取所需的列(即避免选择不必要的列)。

    您可以使用will_paginatekaminari进行分页。无论您的集合大小如何,它们都只会获取您需要的记录(您希望在每页上提取的对象数量)。

    kaminari

    一个基于范围和引擎的、干净、强大、可定制和复杂的 Rails 3 分页器

    will_paginate

    Rails 3、Sinatra、Merb、DataMapper 等的分页库

    【讨论】:

    • +1 代表 kaminari 和 will_paginate,我打算推荐这两个 :)
    猜你喜欢
    • 2015-05-02
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 2018-03-25
    • 2011-09-10
    • 2011-06-04
    • 1970-01-01
    相关资源
    最近更新 更多