Ver Mensaje Individual
  #5 (permalink)  
Antiguo 29/08/2012, 12:31
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Sub consulta muy lenta, pasar a join????

Hola fzeromusic:

Desde el post pasado que pusiste te comenté que en realidad no nos haz explicado qué es lo que quieres hacer...

http://www.forosdelweb.com/f86/probl...-join-1009605/

Pero no te tomaste el tiempo de explicar a detalle qué es lo que pretendes obtener... en tu post decías que con esta consulta tenías prácticamente resuelto tu problema, por eso ya no hice ningún comentario...

en realidad veo varios problemas aquí... En primera el uso de una sentencia IN y una subconsulta... de entrada la función IN es muy tardada, y en tu caso no tendría razón de ser, pues a final de cuenta la subconsulta REGRESA SOLO UN REGISTRO, por lo tanto podrías cambiarla por una condición (=), sin problemas.

Podrías intentar hacer esto (no estoy seguro que funcione y que obtenga realmente lo que quieres):

Código MySQL:
Ver original
  1.    plan.numero_prestamo,
  2.    plan.numero_cuota,
  3.    plan.numero_cuota+1 AS proxima_cuota,
  4.    plan.periodo,
  5.    plan.codigo_tipo_saldo
  6.    pr_saldos_plan_pago_mes plan
  7.   (SELECT numero_prestamo, MAX(numero_cuota) ultima_cuota
  8.    FROM pr_saldos_plan_pago_mes
  9.    GROUP BY numero_prestamo) T
  10. ON plan.numero_prestamo = T.numero_prestamo
  11. AND plan.numero_cuota = t.ultima_cuota

Podrías agregar la condición

Código:
WHERE 
   numero_prestamo = 1
para que te regrese sólo los valores de ese préstamo. Finalmente, checa que tengas creados los índices suficientes en tu tabla para hacer más rápida la consulta.

Saludos
Leo.