Det verkar som att du letar efter summan av postantal för en rad olika frågor i dina tabeller.
Det första alternativet ... räkna varje frågas resultat och lägg sedan till dem ... kommer att gå snabbare. Varför? Det har mindre arbete att göra. Ditt andra alternativ måste bråka en uppsättning comid
värden och sedan räkna dem. Det tar tid.
Använd COUNT(*)
om du kan. Det är billigare. Använd UNION ALL
istället för UNION
när du kan; UNION
tar bort dubbletter och UNION ALL
inte. Att ta bort dubbletter tar tid.
Prestanda för båda alternativen beror på bra val för index för varje underfråga.