SQLite Select Query Optimization - PullRequest
       12

SQLite Select Query Optimization

1 голос
/ 31 мая 2019

Я пытаюсь оптимизировать запрос, который извлекает объем для каждого месяца в течение определенного периода времени (например, в этом случае 12 месяцев). Таблица содержит около ~ 500 тыс. Записей, и мой запрос занимает 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)
 INDEX USED:
        create index 'incident_idx' ON 'incident' (
        'reported_date',
        'affected_service',
        'priority',
        'status',
        'event_type',
        'breach_status'
    );

explain

explain query plan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...