Parece que você está procurando a soma das contagens de registros para uma série de consultas diferentes de suas tabelas.
A primeira alternativa... contar os resultados de cada consulta, depois adicioná-los... será mais rápido. Por quê? Tem menos trabalho a fazer. Sua segunda alternativa tem que disputar um conjunto de
comid
valores e, em seguida, conte-os. Isso leva tempo. Use
COUNT(*)
se você puder. É mais barato. Use UNION ALL
em vez de UNION
quando puder; UNION
remove duplicatas e UNION ALL
não. A remoção de duplicatas leva tempo. O desempenho de qualquer alternativa depende de boas escolhas de índices para cada subconsulta.