Vypadá to, že hledáte součet počtů záznamů pro řadu různých dotazů vašich tabulek.
První alternativa ... spočítat výsledky každého dotazu a poté je přidat ... bude rychlejší. Proč? Má to méně práce. Vaše druhá alternativa se musí hádat se sadou comid hodnoty a poté je spočítat. To chce čas.
Použijte COUNT(*) jestli můžeš. Je to levnější. Použijte UNION ALL místo UNION když můžete; UNION odstraní duplikáty a UNION ALL ne. Odstranění duplikátů nějakou dobu trvá.
Výkon obou alternativ závisí na dobrých volbách pro indexy pro každý poddotaz.