我在postgresql中有一个庞大的查询日志表。我被要求从中获取统计数据,但是表格太大了。它大约有170000000行。
因此,我被要求提供过去6个月的统计数据,其中包含每天的服务计数。
问题在于,由于表太大,要获取此数据将永远花费时间。
这是我使用的当前查询:
SELECT ql.query_time::timestamp::date,count(ql.query_name),ql.query_name
FROM query_log ql
WHERE ql.query_time BETWEEN '2017-12-20 14:00:00.000'::timestamp AND '2018-06-20 14:00:00.000'::timestamp AND success=TRUE
GROUP BY ql.query_time::timestamp::date, ql.query_name;
请提出有关如何使该查询更快,更有效的建议。我想将输出保存到CSV中。 在过去的6个月中,我一直在考虑每天循环浏览,但是不知道该怎么做。
OH,ql.query_time已编制索引。
谢谢!