sql >> Databasteknik >  >> RDS >> Mysql

MySQL:subquerys ELLER fackföreningar?

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.




  1. Datumskillnad i MySQL för att beräkna ålder

  2. Hur beräknar jag ett glidande medelvärde med MySQL?

  3. MySQL Cross Table Constraint

  4. Subtraktion av värden baserat på ID och grupp efter