データベースから呼び出しレコードの非常に大きなデータセットを引き出す sqlite db を使用してクエリを実行しています。同じページで、通話記録の 1 日あたりのカウントの内訳を表示したいので、データベースに対して約 30 カウントのクエリを実行します。
最初に取得したセットをフィルター処理し、メモリ内のセットでカウントを実行して、これらの継続的なクエリを実行する必要がないようにする方法はありますか? グラフ化と表示のためにこれらのカウントが必要ですが、日付のインデックスを使用しても、最初のクエリとすべてのカウント クエリを実行するのに約 10 秒かかります。
私が基本的に求めているのは、返されたレコードに対してカウントを実行したり、分析を実行したりする方法はありますか、またはこのデータをキャッシュするよりスマートな方法はありますか?
@set = Record.get_records_for_range(date1, date2)
while date1 < date2
@count = Record.count_records_for_date(date1)
date1 = date1 + 1
end
基本的に私がしていることです。確かにもっと簡単で速い方法はありますか?