SQLite选择查询优化

SQLite选择查询优化,sql,sqlite,Sql,Sqlite,我正在尝试优化一个查询,该查询检索指定时间范围内每个月的卷(例如,在本例中为12个月)。该表包含约500k条记录,我的查询需要2473毫秒才能检索到数据,即使使用索引也是如此。我还可以如何优化此查询 QUERY USED: select strftime('%Y-%m', reported_date) as 'timeframe', count(*) as 'volume' from [incident] where (reported_date betwee

我正在尝试优化一个查询,该查询检索指定时间范围内每个月的卷(例如,在本例中为12个月)。该表包含约500k条记录,我的查询需要2473毫秒才能检索到数据,即使使用索引也是如此。我还可以如何优化此查询

QUERY USED:
    select strftime('%Y-%m', reported_date) as 'timeframe',
    count(*) as 'volume' 
    from [incident] 
    where (reported_date between '2018-06-01 00:00:00' and '2019-05-31 23:59:59') 
    and (priority = 'High')
    group by strftime("%Y-%m", reported_date)


什么是
解释查询计划
输出?我怀疑该指数是否被有意义地使用。它看起来更像是一个表格定义…@Shawn哦,我错过了!我已更新帖子。请在
(优先级、报告日期)
上尝试索引。这样,应该在索引中查找
的两个部分,而不仅仅是日期。
解释查询计划的输出是什么?我怀疑该指数是否被有意义地使用。它看起来更像是一个表格定义…@Shawn哦,我错过了!我已更新帖子。请在
(优先级、报告日期)
上尝试索引。这样,应该在索引中查找
的两个部分,而不仅仅是日期。
 INDEX USED:
        create index 'incident_idx' ON 'incident' (
        'reported_date',
        'affected_service',
        'priority',
        'status',
        'event_type',
        'breach_status'
    );