Как оптимизировать запрос sqlite?

Здравствуйте

Есть запрос (sqlite .net). Выполняется непозволительно долго (больше 30 сек), хотя всего один left join и стоит limit 0,1000. Объем данных - примерно 100 000 записей в каждой из таблиц. Можете подсказать, как его оптимизировать?

select
G.lemma as lemma,
G.id as id,
group_concat(distinct G.words) as words,
case when sum(K.some_data) is not null then sum(K.some_data) else 0 end as summ,
count(K.id) as cnt,
G.status as status,
G.stop_out as stop_out,
group_concat(K.id) as spl_id,
group_concat(K.keyword) as spl_kw,
group_concat(K.some_data) as spl_data,
group_concat(K.status) as spl_status
from [source_green_groups] G
left join [source_green_keywords] K on K.sg_id = G.id 
group by G.lemma
order by cnt desc
limit 0,1000


Спасибо
  • Вопрос задан
  • 2509 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vityarik
@Vityarik
Проверьте наличие индекса на поле
source_green_keywords.sg_id
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы