我正在使用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上。
谢谢!