El problema que le veo a esto es que siempre estás cargando más datos de la cuenta. Es decir al obligar a cargar toda la tabla o consulta en local (en el TClientDataset) obligar a traer TODOS los datos.
No comentas qué Base de Datos utilizas y qué componentes de conexión, pero muchos de ellos utilizan cursores dinámicos de servidor. Esto significa que si cargas en un DBGrid una tabla o consulta grande, no se cargan todos los registros, sólo los que vas necesitando de forma gradual (los que ves en cada momento y tal vez algunos más). A medida que avanzas por el DBGrid se van solicitando los demás.
De esa forma no cargas todos los registros y evitas tráfico innecesario.
Yo personalmente, salvo que sea un caso especial (alguno hay) no veo necesidad de traer los datos a local, como norma general.
|