Kaminari(或任何分页)在加入查询时很慢

时间:2011-05-12 18:05:21

标签: performance join pagination will-paginate kaminari

我正在使用Kaminari对以下查询进行分页(尽管我使用will_paginate获得了类似的结果):

Person.joins([:locations=>:location_hour], :friends, :current_images).where(sql_conditions_string).page(params[:page]).per(10)

一切都按预期工作,但分页添加数据库调用

SELECT COUNT(*) FROM 'people' INNER JOIN 'location_histories'...

它在整个查询中调用count(*)。这需要1.3秒,而原始查询(包括完全相同的连接和.where条件)只需要约0.5秒。

有没有办法让分页只使用原始查询中的计数?最后一次数据库调用是一个很大的性能问题。

我在Rails 3.0.7上。

谢谢!

0 个答案:

没有答案