Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/08/2012, 08:39
fzeromusic
 
Fecha de Ingreso: agosto-2012
Mensajes: 7
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Sub consulta muy lenta, pasar a join????

Hola, gracias por la respuesta ejecuté la última consulta y el resultado es el mismo, tarda una eternidad en ejecutarse, incluso con el filtro "where numero_prestamo =1"... a diferencia de la otra que con datos filtrados si me arrojaba resultados, a mi parecer está bien indexada la base y por otro lado los índices no creo poder cambiar, ya que así me llega la base de datos del cliente, éste es el análisis de los índices:

Código:
+-------------------------+------------+---------------------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table                   | Non_unique | Key_name                        | Seq_in_index | Column_name       | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------------------------+------------+---------------------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| pr_saldos_plan_pago_mes |          0 | PRIMARY                         |            1 | periodo           | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          0 | PRIMARY                         |            2 | numero_prestamo   | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          0 | PRIMARY                         |            3 | numero_cuota      | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          0 | PRIMARY                         |            4 | codigo_tipo_saldo | A         |    73741748 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes                        |            1 | anio_mes          | A         |         193 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | numero_prestamo                 |            1 | numero_prestamo   | A         |      508563 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | codigo_tipo_saldo               |            1 | codigo_tipo_saldo | A         |         346 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | periodo                         |            1 | periodo           | A         |         193 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo               |            1 | anio_mes          | A         |         193 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo               |            2 | numero_prestamo   | A         |     5672442 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_tipo_saldo    |            1 | anio_mes          | A         |         193 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_tipo_saldo    |            2 | numero_prestamo   | A         |     5672442 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_tipo_saldo    |            3 | codigo_tipo_saldo | A         |    14748349 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_cuota         |            1 | anio_mes          | A         |         193 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_cuota         |            2 | numero_prestamo   | A         |     5672442 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_cuota         |            3 | numero_cuota      | A         |    36870874 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_cuota_tipo_sa |            1 | anio_mes          | A         |         193 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_cuota_tipo_sa |            2 | numero_prestamo   | A         |     5672442 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_cuota_tipo_sa |            3 | numero_cuota      | A         |    36870874 |     NULL | NULL   |      | BTREE      |         |               |
| pr_saldos_plan_pago_mes |          1 | anio_mes_prestamo_cuota_tipo_sa |            4 | codigo_tipo_saldo | A         |    73741748 |     NULL | NULL   |      | BTREE      |         |               |
+-------------------------+------------+---------------------------------+--------------+-------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
20 rows in set (0.02 sec)
Lo que busco específicamente es filtrar los números de préstamo que se encuentran en su última cuota, por eso la cuota la utilizo como max, por ejemplo el préstamo # 1000 tiene 60 números de cuota 1-60, solo tengo que sacar la línea que se encuentre en el 60, aveces no solo es 1, quizás puedan ser 5 depósitos en su última cuota, es por eso que la consulta del préstamo 1 arroja 5 resultados, el préstamo 2, arroja 1 solo resultado, etc..... mi consulta trabaja bien filtrada, pero al buscar tooodos los números de préstamo se vuelve en una consulta eterna, ese es básicamente el problema, gracias por sus respuestas amigos, saludos