Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Consulta con select anidados y Join

Estas en el tema de Consulta con select anidados y Join en el foro de Mysql en Foros del Web. Hola, tengo una consulta súper entreverada , en si la consulta no tiene ningún problema, funciona 10 puntos. Mi duda es si, al ser una ...
  #1 (permalink)  
Antiguo 08/12/2011, 18:54
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Consulta con select anidados y Join

Hola, tengo una consulta súper entreverada , en si la consulta no tiene ningún problema, funciona 10 puntos.

Mi duda es si, al ser una consulta con tantos select y Joins, esto provocaría algún problema en el rendimiento, me refiero a si haría más lenta la pagina o forzaría al servidor etc, Qué problemas , si es que los hubiere, me podría traer?

Si tuviese que recuperar todos estos datos sin joins ni select anidados, yo creo que tendría que hacer como 10 o mas consultas individuales.

Dejo la consulta:

Código MySQL:
Ver original
  1. (SELECT apellido_empresa FROM usuarios WHERE id_usuario = o.id_cand_cli) as candidato,
  2.             u.apellido_empresa as candidato,  
  3.             p.descripcion as producto,     
  4.             o.fecha_cierre as cierre,  
  5.             oe.etapa as etapa,
  6.             oes.estado as estado,
  7.             nc.nivel as nivel,
  8.  
  9. (
  10. SELECT GROUP_CONCAT(CONCAT(apellido_empresa,' ',nombre))
  11. FROM a_usuarios au
  12. join usuarios u2 ON u2.id_usuario = au.id_asignado_a
  13.  
  14. WHERE au.id_usuario = o.id_cand_cli
  15. ) as asignadosA
  16.  
  17.  
  18.  
  19.    
  20. FROM oportunidades o
  21.  
  22.             left join usuarios u ON u.id_usuario = o.id_cand_cli
  23.             left join usuarios u2 ON u2.id_usuario = o.id_contacto
  24.             left join productos p ON p.id = o.id_producto
  25.             left join o_etapa oe ON oe.id = o.id_o_etapa
  26.             left join o_estado oes ON oes.id = o.id_o_estado
  27.             left join o_nivel_confianza nc ON nc.id = o.id_o_nivel_confianza
  28.  
  29.            
  30.  
  31.   join a_usuarios au2 ON au2.id_usuario = o.id_cand_cli
  32.             WHERE au2.id_asignado_a  IN ( 20)
  33.  
  34.  LIMIT  0, 50 ;
__________________
la la la
  #2 (permalink)  
Antiguo 09/12/2011, 07:47
 
Fecha de Ingreso: diciembre-2011
Mensajes: 35
Antigüedad: 12 años, 4 meses
Puntos: 9
Respuesta: Consulta con select anidados y Join

Es mejor hacerlas con los join y las subconsultas, ya que en una petición obtienes toda la información, es mas carga para el servidor recibir muchas consultas a recibir una sola.

Etiquetas: anidados, join, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:02.