我有以下两个查询,这些查询返回主表中按时间段代码分组的子表的计数
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秒钟以上,因为我怀疑它写得不好,即使没有记错。这个查询正确吗?如果是这样,有没有更好的书写方式?
两个子表都包含数百万条记录,这些记录按十几个周期进行分组。