Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:subconsultas OU uniões?


Parece que você está procurando a soma das contagens de registros para uma série de consultas diferentes de suas tabelas.

A primeira alternativa... contar os resultados de cada consulta, depois adicioná-los... será mais rápido. Por quê? Tem menos trabalho a fazer. Sua segunda alternativa tem que disputar um conjunto de comid valores e, em seguida, conte-os. Isso leva tempo.

Use COUNT(*) se você puder. É mais barato. Use UNION ALL em vez de UNION quando puder; UNION remove duplicatas e UNION ALL não. A remoção de duplicatas leva tempo.

O desempenho de qualquer alternativa depende de boas escolhas de índices para cada subconsulta.