Rendimiento DataSet
Hola.
Tengo una aplicación con Delphi XE3 la cual esta conectada a una DB Firebird 2.5 con DBExpress. La tabla en cuestión tiene alrededor de 20.000 registros. Accedo a los registros con un DBXQuery --> DataSetProvider --> ClientDataSet --> DataSource y se muestran los resultados en un DBGrid. El problema es que al intentar moverme por el DBGrid con la barra de desplazamiento tarda mucho en reaccionar, la barra de scroll no se mueve y al cabo de varios segundos se mueve la barra y se muestran los datos. He modificado la consulta de SQL para solo me muestre los 50 primeros registros, pero sigo teniendo el mismo problema. Alguien sabe de donde puede venirme el problema o como optimizarlo? Saludos y Gracias |
Buen día, ses27coves.
Cita:
Saludos. :) |
Que pase lo primero me parece normal con 20.000, que te pase lo segundo sólo con 50, me parece muy extraño.
¿Puedes dar más datos? |
Hola.
¿Tienes código en algún evento de DBGrid, como por ejemplo OnRowChange, OnColumnChange, etc.? ¿Tienes código en algún evento de algún field del clientdataset, como por ejemplo OnChange, etc.? |
La consulta SQL que utilizo para limitar los registros es:
Código:
Select FIRST 50 Código:
//>>>>>>>>>>>>>>>>>>>> Color Filas Grid Cuevas >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>< Código:
procedure TDataModule1.DSCuevasDataChange(Sender: TObject; Field: TField); Si me muevo por el DBGrid con la rueda del ratón o con las flechas de desplazamiento del teclado, este responde bien. El problema esta en el uso de la barra de desplazamiento. Al intentar usarla esta no se mueve. Y al soltarla en algún punto(aunque no se mueva), pasados unos segundos se mueve. Si bien es cierto que con la tabla entera (20.000 registros) tarda 1 o 2 segundos y con 50 registros tarda menos. Pero en ningún caso se mueve cuando pinchas sobre ella i la mueves. Gracias por vuestro interés y ayuda. |
La franja horaria es GMT +2. Ahora son las 04:21:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi