为什么用find_paginate使用find会很危险?

时间:2013-02-21 16:14:52

标签: ruby-on-rails ruby-on-rails-3 will-paginate

在整理出错误后,我在FAQ中找到了以下内容。

您可能尝试对静态数组进行分页,而不是在数据库中执行分页查询。例如,在Active Record查找或所有方法错误后链接一个paginate调用:

上述行将返回所需的结果,但会失去分页的目的。在这里,查找查询将首先加载数据库中的所有记录,这是危险的,应该避免。

我的问题是为什么对分页进行分页是危险的?

1 个答案:

答案 0 :(得分:2)

分页是为了防止不必要的数据库加载:你只需要db中的一些元素,所以你只需加载它们。

使用find你可以加载所有内容然后排序。

Dangerous ==重型数据库负载,从而可能导致崩溃。