![]() |
Vista muy lenta
Hola compañeros:
Llevo varias semanas dándole vueltas a la siguiente vista y no encuentro la manera de hacer que sea más rápida. Imagino que el problema esta en la unión de las 2 tablas de CLIENTES y CAMBIOS_CLIENTES, ya que tienen muchos registros. La idea es traer los registros de los expedientes y el registro de cada cliente para que devuelva exactamente el estado del cliente en la fecha del expediente. La lentitud aparece cuando se filtra por el DOI_CLIENTE o CLIENTE, osea, las columnas involucradas en VERSION_CLIENTE. Por supuesto hay indices para DOI_CLIENTE y CLIENTE. Añadir que el servidor es firebird 2.1.7 Quedo a la espera de vuestra ayuda. Gracias.
|
Es casi imposible poder ayudarte si no tenemos una BD para probar.
De todas formas, deberías ir probando poco a poco, trozo a trozo del código para saber exactamente dónde se produce el problema. Por ejemplo, todos esos left join, ¿son necesarios? ¿no pueden ser inner join? Es que, lo dicho al principio, no podemos averiguar, tendríamos que ir dando palos de ciego. |
Sin saber la estructura de las tablas, las claves que tienes definidas, los índices definidos y los datos de cada tabla es difícil saber qué está pasando.
Deberías acceder al PLAN de la consulta con alguna herramienta que te permita consultarlo. Ahí deberías poder ver qué parte te está ralentizando la consulta. Habría que saber de qué tipo son los campos DOI_CLIENTE y CLIENTE y los valores diferentes que tienen en la tabla. No tiene nada que ver que tengas: * 1.000.000 de registros con 3 valores diferentes. * 1.000.000 de registros con 900.000 valores diferentes. |
La franja horaria es GMT +2. Ahora son las 01:15:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi