1

我有一个包含 3000 条用户记录的用户表。分页工作正常,但在查看萤火虫时间线时,它指出下载的内容大小为 2.37MB,下载时间为 9.62 秒。分页工作正常,但我希望它只下载前 25 条记录并提供指向其他可用页面的链接。我试过太阳黑子、thinking-sphinxs、rails find_in_batches、直线上升:limit => 25 等。

如果分页拆分记录集并每页显示 25 条记录,那么为什么它似乎仍在下载整个表?这不是打败了分页背后的理论还是我错过了什么?

@users = User.all(:conditions => ["client_id = ?", current_user.client_id]).paginate(:page => params[:page], :per_page => 25)

显然,这里的目标是在一两秒内加载我的页面,而不是 10 或 12 秒。有没有更好的方法来解决这个问题?

4

1 回答 1

1

您没有提到您用于分页的 gem,但如果它是任何常见的嫌疑人(或者仍然内置在 Rails 2.3 中 - 我不记得了),它实际上应该使用 aLIMIT来仅查询相关记录。您缓慢的页面加载时间很可能是由于其他原因。查看您的开发日志以查看实际查询。

于 2012-04-14T22:41:50.593 回答