Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/03/2006, 03:26
sergi_climent
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 20 años, 2 meses
Puntos: 10
Pregunta Una Consulta con todas las tablas o una consulta para cada tabla

buenos dias,
No sabia como explicar lo q quiero en el titulo asi q os comento.
tengo una tabla de maquinas, en la cual tengo el id de la maquina, el id de la seccion q pertence el id del fabricante, el id del modelo...
cada id va relacionado con otra tabla con el nombre de la seccion, del fabricante, del modelo...
Lo q me gustaria saber q es mas eficaz a la hora de hacer la consulta, una consulta con todos los inners joins q hagan falta, o bien cuando voy a mostrar los datos hacer una consulta para cada dato q quiera ver???
Utilizo PHP y mysql.

la consulta seria esta:

Código:
$str_list = "SELECT maquines.id_maquina,num_maq,tipus_maq,seccio,tipus_maquina,model,fabricant
			 FROM maquines,seccio,tipus_maquina,models,fabricants 
			 WHERE maquines.id_seccio=seccio.id_seccio
			 AND maquines.tipus_maq = tipus_maquina.id_tipus_maquina
			 AND maquines.id_model=models.id_model
			 AND maquines.id_fabricant=fabricants.id_fabricant
			 AND num_maq != ''
			 AND eliminada = 0
			 ORDER BY maquines.num_maq ASC";
La consulta final es la siguiente:
Código:
$str_list = "SELECT maquines.id_maquina,num_maq,tipus_maq,seccio,tipus_maquina,model,fabricant
			 FROM ((((maquines LEFT JOIN fabricants ON maquines.id_fabricant = fabricants.id_fabricant) LEFT JOIN marques ON maquines.id_marca = marques.id_marca) LEFT JOIN models ON maquines.id_model = models.id_model) LEFT JOIN seccio ON maquines.id_seccio = seccio.id_seccio) LEFT JOIN tipus_maquina ON maquines.tipus_maq = tipus_maquina.id_tipus_maquina
			 WHERE num_maq != ''
			 AND eliminada = 0
			 ORDER BY maquines.num_maq ASC";
en la tabla de maquinas hay 600 registros, y en las demas sobre los 100-130.

Hay alguna manera de optimizar esto?

Gracias de antemano,

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 20/03/2006 a las 06:55