Existe algo mas Rapido que utilizar Dataset

13/06/2006 - 05:55 por Daniel R. Rossnagel | Informe spam
Estoy trabajando con un entorno de datos una tabla principal 5 tablas
relacionadas y otras relacionadas a estas, lo que sucede es que tengo una
barra de navegacion BindingNavigator, para desplazarme por los registros,
los cuales demoraran demaciado tiempo en actualizar las pantallas al
desplzar el puntero a otro registro de mi tabla principal (utilizo unos
350,000 registro aproximadamente),
Lo comparo con Visual FoxPro,el cual me las actualizaba instntaneamente,
otra gran diferencia es al gargar el dataset, se demora demasiado.

Alguna idea o sugerencia

Preguntas similare

Leer las respuestas

#1 moondance
13/06/2006 - 10:18 | Informe spam
Eso es porque Dataset es un modelo desconectado, es decir, ahora mismo
estás cargando todos esos registros en memoria, con lo que ello
conlleva.

Tienes varias opciones:

1. Usar DataReader si solo vas a leer. Es un cursor que carga solo el
registro que necesites. El problema es que es secuencial y de solo
avance, no puedes volver hacia atrás. Si vas a cambiar datos en la BD,
puedes lanzar comandos SQL contra ella (INSERT, UPDATE, etc)
2. Utilizar DataSets con consultas que devuelvan una menor cantidad de
registros. Algún tipo de paginación
3. Utilizar un procedimiento almacenado en la BD que use cursores
(siempre que tu SGBD lo permite) y llamarlo contínuamente. Usar para
ello cursores con SCEOLL si trabajas con SQL Server para que permita
que puedas moverte por ellos hacia delante o hacia atrás

Daniel R. Rossnagel wrote:
Estoy trabajando con un entorno de datos una tabla principal 5 tablas
relacionadas y otras relacionadas a estas, lo que sucede es que tengo una
barra de navegacion BindingNavigator, para desplazarme por los registros,
los cuales demoraran demaciado tiempo en actualizar las pantallas al
desplzar el puntero a otro registro de mi tabla principal (utilizo unos
350,000 registro aproximadamente),
Lo comparo con Visual FoxPro,el cual me las actualizaba instntaneamente,
otra gran diferencia es al gargar el dataset, se demora demasiado.

Alguna idea o sugerencia
Respuesta Responder a este mensaje
#2 Juan Diego Bueno
13/06/2006 - 10:24 | Informe spam
Perdon, donde pone SCEOLL quiere decir SCROLL

:P

wrote:
Eso es porque Dataset es un modelo desconectado, es decir, ahora mismo
estás cargando todos esos registros en memoria, con lo que ello
conlleva.

Tienes varias opciones:

1. Usar DataReader si solo vas a leer. Es un cursor que carga solo el
registro que necesites. El problema es que es secuencial y de solo
avance, no puedes volver hacia atrás. Si vas a cambiar datos en la BD,
puedes lanzar comandos SQL contra ella (INSERT, UPDATE, etc)
2. Utilizar DataSets con consultas que devuelvan una menor cantidad de
registros. Algún tipo de paginación
3. Utilizar un procedimiento almacenado en la BD que use cursores
(siempre que tu SGBD lo permite) y llamarlo contínuamente. Usar para
ello cursores con SCEOLL si trabajas con SQL Server para que permita
que puedas moverte por ellos hacia delante o hacia atrás

Daniel R. Rossnagel wrote:
> Estoy trabajando con un entorno de datos una tabla principal 5 tablas
> relacionadas y otras relacionadas a estas, lo que sucede es que tengo una
> barra de navegacion BindingNavigator, para desplazarme por los registros,
> los cuales demoraran demaciado tiempo en actualizar las pantallas al
> desplzar el puntero a otro registro de mi tabla principal (utilizo unos
> 350,000 registro aproximadamente),
> Lo comparo con Visual FoxPro,el cual me las actualizaba instntaneamente,
> otra gran diferencia es al gargar el dataset, se demora demasiado.
>
> Alguna idea o sugerencia
Respuesta Responder a este mensaje
#3 Alfredo Crisostomo
13/06/2006 - 13:13 | Informe spam
Eso es porque Dataset es un modelo desconectado, es decir, ahora mismo
estás cargando todos esos registros en memoria, con lo que ello
conlleva.



Y no existe en .NET un DataSet conectado ?? es decir que uno pueda traer
los registros a peticion, segun la sentencia SQL del dataset ?
Respuesta Responder a este mensaje
#4 Juan Diego Bueno
13/06/2006 - 13:58 | Informe spam
No me consta. La única manera de traer los registros a petición es
mediante el DataReader, que los trae uno por uno.

Otra opción ya la planteé, crear un dataset que traiga los datos
paginados (del registro 1 al 100, y asi sucesivamente)


Alfredo Crisostomo wrote:
>Eso es porque Dataset es un modelo desconectado, es decir, ahora mismo
>estás cargando todos esos registros en memoria, con lo que ello
>conlleva.

Y no existe en .NET un DataSet conectado ?? es decir que uno pueda traer
los registros a peticion, segun la sentencia SQL del dataset ?
Respuesta Responder a este mensaje
#5 Daniel R. Rossnagel
13/06/2006 - 16:22 | Informe spam
Se agradece las sugerencias, de todas formas no logro enctrar el desempeño
de trabajar con las bases de datos de FoxPro, creo este sera el costo que
tengo que pagar por utilizar una base de datos de mayor seguridad y mas
escalable.

"Daniel R. Rossnagel" escribió en el mensaje
news:
Estoy trabajando con un entorno de datos una tabla principal 5 tablas
relacionadas y otras relacionadas a estas, lo que sucede es que tengo una
barra de navegacion BindingNavigator, para desplazarme por los registros,
los cuales demoraran demaciado tiempo en actualizar las pantallas al
desplzar el puntero a otro registro de mi tabla principal (utilizo unos
350,000 registro aproximadamente),
Lo comparo con Visual FoxPro,el cual me las actualizaba instntaneamente,
otra gran diferencia es al gargar el dataset, se demora demasiado.

Alguna idea o sugerencia

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida