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