Tablas desconectadas ADO .NET SQL Server

13/04/2005 - 23:17 por erseco | Informe spam
Hola, estoy diseñando una aplicación y me gustaría saber que método
para obtener los datos utilizar:

1º Obtener los datos siempre desde el servidor sql cuando sea
necesario -Modo live

2º Mantener un copia de los datos en datatasets en local e ir
actualizando estos datasets cuando los datos cambien -Modo desconectado

La duda entre uno u otro es para elegir lo que daría mejor rendimiento
en un sistema multiusuario (10 clientes o más) puesto que obtener
siempre los datos desde el servidor sql generará un elevado tráfico
de red, y mantener los datos en el usuario tendría un consumo excesivo
de memoria (aparte del tráfico que se genera para comprobar que los
datos han cambiado o no)

¿Alguna sugerencia?

Un saludo!!
 

Leer las respuestas

#1 Tristan
14/04/2005 - 13:39 | Informe spam
El problema es que si una de las dos formas de acceso a
datos fuese óptima de forma general, la otra no
existiría. Como bien has dicho cada forma tiene sus
ventajas y sus inconvenientes. Depende de tu caso
concreto. Eres tú con el conocimiento de tu aplicación el
que puede decidir que es mejor.

Evidentemente si el número de filas es muy grande, no
tiene sentido crear una copia local de todas ellas. Por
otro lado, si vas a tener muchos accesos concurrentes,
con modificaciones, te va a resultar más complicado
trabajar de forma desconectada. Si por el contrario, el
número de filas es pequeño y no van a tener
modificaciones concurrentes, la mejor opción será
trabajar de forma desconectada.

Por otro lado, hay formas intermedias. Puedes trabajar de
forma desconectada con un subconjunto reducido de filas.
Por ejemplo yo lo que hago en varias aplicaciones, es
leer en un dataset solo la fila que me interesa y todas
las filas secundarias relacionadas. De esta forma el
dataset es mínimo, no mantengo conexiones abiertas más
que el tiempo indispensable y minimizo el tráfico de red.

Como te digo, todo depende de la aplicación concreta. No
hay recetas genéricas.

Juan Carlos Badiola Saiz
MVP - C#

Preguntas similares