我正在使用 sqlite db 执行查询,在其中我从数据库中提取了相当大的呼叫记录数据集。在同一页面上,我想在通话记录中显示每天的计数细分,因此我对数据库执行了大约 30 次计数查询。
有没有一种方法可以过滤我最初检索的集合并在内存集合上执行计数,这样我就不必运行那些连续查询?我需要这些计数用于绘图和显示目的,但即使有日期索引,运行初始查询加上所有计数查询也需要大约 10 秒。
我基本上要问的是有没有办法对返回的记录进行计数或对其进行分析,或者有没有更聪明的方法来缓存这些数据?
@set = Record.get_records_for_range(date1, date2)
while date1 < date2
@count = Record.count_records_for_date(date1)
date1 = date1 + 1
end
基本上就是我正在做的事情。肯定有更简单、更快捷的方法吗?