Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2013, 11:15
sefirotxx
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 13 años, 9 meses
Puntos: 4
¿Que es mejor? varias consultas, select anidados o inner joins

Tengo tres opciones que puedo dar para llegar a un resultado. La idea de estas consultas es llegar al campo DESCRIPCION de la tabla OBRA

Primera opción varias consultas para llegar a un resultado concreto

Código MySQL:
Ver original
  1. select id_persona from solicitud where id = 1
  2.  
  3. select id_obra from persona where id = '".$row1[id_persona]."';
  4.  
  5. select descripcion from obra where id = '".$row2[id_obra]."'

Segunda opcion, un select anidado para llegar a un resultado concreto

Código MySQL:
Ver original
  1. select descripcion
  2. from obra
  3. where id = (select id_obra from persona where id = (select id_persona from solicitud where id = 1))

Tercera opcion, inner join para llegar a un resultado concreto

Código MySQL:
Ver original
  1. SELECT obra.descripcion
  2. FROM obra
  3.             Inner Join persona ON obra.id = persona.id_obra
  4.             Inner Join solicitud ON persona.id = solicitud.id_persona
  5. where solicitud.id = 1

Me gustaría que me entregaran toda su sabiduría y me dijeran cual es la mejor opción, la mas rápida y sobre todo me gustaría que me dijeran POR QUE, ya que eso es lo que busco para empezar a depurar mis sistemas y empezar a hacer los nuevos mejores.

Última edición por gnzsoloyo; 16/02/2013 a las 16:50 Razón: Código de programación no permitido en foros de BBDD.