el query es el siguiente:
Código:
Este query me arroja bien los resultados, solo que pueden notar que hay un filtro "where" con el cual me arroja solo los numero de prestamo = 1, la idea es que me arroje todos los demás, pero al quitarle los where la consulta se vuelve eterna, lleva ejecutándose 20 hrs y aún no tengo respuesta, cabe destacar que hay mínimo 50mil créditos diferentes, es decir, es una gran tabla, no me importa esperar mucho tiempo en el query, pero mas de 20hrs??? imposible, necesito reducirlo a máximo poco mas de una hora....los resultados con el where incluido son:SELECT plan.numero_prestamo, plan.numero_cuota, plan.numero_cuota+1 AS proxima_cuota, plan.periodo, plan.codigo_tipo_saldo, FROM pr_saldos_plan_pago_mes plan WHERE plan.numero_prestamo = 1 AND plan.numero_cuota IN ( SELECT MAX( numero_cuota ) AS ultima_cuota FROM pr_saldos_plan_pago_mes WHERE numero_prestamo = 1 )
Código:
ahora se debe hacer eso, pero sin filtrar solo en numero de préstamo "1"numero_prestamo numero_cuota proxima_cuota periodo codigo_tipo_saldo 1 153 154 12 55 1 153 154 12 6 1 153 154 12 2 1 153 154 12 53 1 153 154 12 1
Alguien tiene una idea de como optimizar éste proceso???? muchas gracias de antemano!
PD: otra idea que tuve era hacer la consulta sin subconsulta, mas simplificado como:
SELECT *
FROM
pr_saldos_plan_pagos
WHERE
numero_prestamo = 1
ORDER BY
numero_cuota DESC
LIMIT
5
El resultado da el mismo, el gran problema es que el "limit 5" tendría que ser variable siempre, ya que cada numero de prestamo varía la cantidad de numero de cuota, en este caso es 5, pero puede ser 1, puede ser 3, puede ser 9, etc, etc. eso destruye la lógica