sql >> Base de Datos >  >> RDS >> Mysql

MySQL:¿subconsultas O uniones?

Parece que está buscando la suma de recuentos de registros para una serie de consultas diferentes de sus tablas.

La primera alternativa... contar los resultados de cada consulta, luego agregarlos... será más rápido. ¿Por qué? Tiene menos trabajo que hacer. Su segunda alternativa tiene que disputar un conjunto de comid valores y luego contarlos. Eso lleva tiempo.

Usa COUNT(*) si puedes. Es más barato. Usa UNION ALL en lugar de UNION cuando pueda; UNION elimina duplicados y UNION ALL no. Eliminar duplicados lleva tiempo.

El rendimiento de cualquiera de las alternativas depende de las buenas elecciones de índices para cada subconsulta.