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

Consultas ÚNASE frente a consultas múltiples

Para uniones internas, una sola consulta tiene sentido, ya que solo obtiene filas coincidentes. Para uniones a la izquierda, múltiples consultas son mucho mejores... mire el siguiente punto de referencia que hice:

  1. Consulta única con 5 combinaciones

    consulta:8,074508 segundos

    tamaño del resultado:2268000

  2. 5 consultas seguidas

    tiempo de consulta combinado:0,00262 segundos

    tamaño del resultado:165 (6 + 50 + 7 + 12 + 90)

.

Tenga en cuenta que obtenemos los mismos resultados en ambos casos (6 x 50 x 7 x 12 x 90 =2268000)

las uniones izquierdas usan exponencialmente más memoria con datos redundantes.

El límite de memoria puede no ser tan malo si solo hace una combinación de dos tablas, pero generalmente tres o más y vale la pena realizar consultas diferentes.

Como nota al margen, mi servidor MySQL está justo al lado de mi servidor de aplicaciones... por lo que el tiempo de conexión es insignificante. Si su tiempo de conexión está en segundos, entonces tal vez haya un beneficio

franco