Cita:
Empezado por Paradiso
Este es el Problema: la cantidad de registros es de 34.000
|
Realmente creo que ese es el problema.
Intentar devolver 34.000 registros en una consulta para mostrarlos en un DBGrid creo que es un fallo de concepo.
No tiene sentido que alguien acceda a un DBGrid con 34.000 filas. Nadie se pone a bajar con el cursor hasta encontrar la fila que necesita (imagina qie es la fila 18.345 del Grid
). Normalmente cuando se devuelve un Grid así el usuario que está delante de él intenta
ordenarlo o
filtrarlo para buscar lo que necesita. Ahí está la cuestión debes "acostumbrar" al usuario a que lo filtre o lo ordene antes de realizar la consulta para obtener un rango de registros más pequeño (y aun así yo pensaría en usar un TOP).
Aun así los tiempos me parecen demasiado.
* Ejecuta la misma consulta sin el Gris a ver lo que tarda, para descartar que sea problema de la carga.
* Revisa el tipo de cursor que estás utilizando ServerSide o ClientSide.
* Si la consulta tarda mucho revisa los índices y el plan de ejecución.
* Usa TOP; Yo no devolvería más de 1000 o 2000 registros.
* Piensa que los Grids de las DevExpress en su modo de funcionamiento estandard ("el bonito" que permite agrupar,ordenar, filtrar,...) traen
todos los registros a memoria y los cargan en el Grid.