Ver Mensaje Individual
  #5  
Antiguo 24-05-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.329
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita