一連のクエリを作成したいのですが、最初のクエリは特定の日付以降に作成されたすべてのレコードを検索し、2 番目のクエリはその日付より前に作成されたすべてのレコードを表示します。30,000 件のレコードがあるため、設定した日付に最も近い 10 件のみを表示したいと思います。
private
def current_scorecards_for_review
self.where("created_at > ? AND reviewed = ?", Date.new(2013,04,01), false)
end
def historic_scorecards_for_review
self.where("created_at < ? AND reviewed = ?", Date.new(2013,04,01), false).limit(10)
end
コンソールで試してみたときに、これまでに書いたことです
e = Scorecard.where("created_at < ?", Date.new(2013,04,01)).limit(10)
そして呼び出された
e.count
=> 30175 が返されます。10 だけが返されるようにするにはどうすればよいですか? 30,000行あると、これは遅くなります。