![]() |
Dudas con esta consulta
Buenos dias, tardes o noches segun corresponda. Tengo una duda que espero puedan ayudarme a despejar.
Tengo un sistema funcionando en firebird 2.5. En este tengo un listado de resumen. La consulta que lanzo es la siguiente: La consulta en si me da los resultados esperados con una demora maxima de un par de segundos. Ahora revisando en los foros escuche mencionar el IB plan analizer para analizar las consultas. Lo probe y me salio en las tablaS MOVCILINDROS Y DETALLECIL una advertencia. Revisando veo que utiliza los indices que corresponde a sus respectivas claves foraneas. Este es el plan usado:
Estas son las tablas usadas: Si bien la consulta no es lenta (Al menos no mucho). Me preocupa que no este debidamente optimizada. Viendo las estadisticas de los indices se muestra la siguiente selectividad: RDB$FOREIGN5 24.59 RDB$FOREIGN12 2.48 Me pregunto ¿De que manera se puede mejorar esta consulta? Gracias por la atención prestada... |
Dado que el WHERE actúa sobre la tabla "CLIEPROV CP1" yo trataría de empezar por ahí las uniones con las otras tablas.
Además de esto probaría la consulta utilizando LEFT JOIN. Los índices que utiliza aparentemente son los correctos y parecen óptimos. y
|
Hola gracias por responder
Cita:
He probado asi:
Y ahora si parece estar todo ok con los indices. Pero la demora es la misma. |
Ahora el nuevo plan es este:
|
Prueba con la que te propuse, reordenando los joins y agregando left delante de cada uno:
|
Hola de nuevo
Cita:
Ya probe como me dijiste pero igual sigue con ese detalle en los mismos indices. |
| La franja horaria es GMT +2. Ahora son las 10:15:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi