У меня есть два следующих запроса, которые возвращают количество подтаблиц, сгруппированных по коду периода из основной таблицы
select b.period_code, count(*) from subA_main a inner join main b
on a.unique_id = b.unique_id
group by b.period_code;
select b.period_code, count(*) from SubB_main a inner join main b
on a.unique_id = b.unique_id
group by b.period_code;
Я хотел бы написать это как один запрос и попробовал следующее -
select a.period_code, count(b.unique_id) as SUbACnt, count(c.unique_id) as SubBCnt from main a
inner join subA_main b on a.unique_id = b.unique_id
inner join SubB_main c on a.unique_id = c.unique_id
group by a.period_code;
Вышеупомянутый запрос выполнялся более 1000 секунд, прежде чем я его убил, так как подозревал, что он написан плохо, если не неправильно.Этот запрос правильный?Если так, есть ли лучший способ написать это?
Обе подтаблицы содержат миллионы записей, сгруппированных по дюжине или около того периодов.