Hola a todos!
Bueno, estoy desarrollando un proyecto que requiere una eficiencia máxima -dentro de lo que cabe en MySQL.
Una pregunta simple.
¿Qué es mejor y carga menos el servidor?
Haciendo una consulta de este tipo:
CASO 1 ------------
SELECT id from tabla1
WHERE id IN ( SUBCONSULTA)
Y para cada resultado aplicar un
SELECT campo1 from miembros where usuario = id
CASO 2-----------------------
SELECT id, miembros.campo1 from tabla1
INNER JOIN miembros where usuario=id
WHERE id IN ( SUBCONSULTA)
Por cada resultado por tanto no tendría que hacer una consulta extra.
----------------------------
Teniendo en cuenta que la tabla miembros tiene muchisimos campos, no conozco el funcionamiento de MySQL, pero CREO que en el caso 1, lo único que selecciona en la segunda consulta es el campo1 sin "cargar" o "leer" los demás campos, mientras que en el Caso 2, en el INNER JOIN implícitamente integra todos los campos de cada registro de miembros, filtrandolo posteriormente con el SELECT inicial.
¿Alguien sabría decirme cual es mejor usar?
Gracias de antemano.
Un saludo!