Изглежда, че търсите сумата от броя на записите за поредица от различни заявки за вашите таблици.
Първата алтернатива ... пребройте резултатите от всяка заявка, след това ги добавете ... ще бъде по-бързо. Защо? Има по-малко работа. Втората ви алтернатива трябва да спорите с набор от comid стойности и след това ги пребройте. Това отнема време.
Използвайте COUNT(*) ако можеш. По-евтино е. Използвайте UNION ALL вместо UNION когато можете; UNION премахва дубликати и UNION ALL не прави. Премахването на дубликати отнема време.
Ефективността на всяка алтернатива зависи от добрия избор на индекси за всяка подзаявка.