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.