Conexion abierta

10/11/2008 - 22:07 por Carlos | Informe spam
Es muy grave dejar la conexion a la base de datos mucho tiempo abierta, por
ejemplo mientras un formulario dure abierto?
Lo cuestiono porque que muchos abren y cierran con cada llamada a la base de
datos.
 

Leer las respuestas

#1 Alberto Poblacion
10/11/2008 - 22:26 | Informe spam
"Carlos" <carl> wrote in message
news:
Es muy grave dejar la conexion a la base de datos mucho tiempo abierta,
por ejemplo mientras un formulario dure abierto?
Lo cuestiono porque que muchos abren y cierran con cada llamada a la base
de datos.



No es grave si tienes pocos usuarios. Pero si tienes miles de usuarios,
y el programa deja la conexión abierta mientras está abierto, necesitas en
total miles de conexiones simultaneas a la base de datos. En cambio si se
abre momentáneamente en el momento de enviar cada consulta y luego se vuelve
a cerrar, puedes soportar miles de usuarios con sólo unas poquitas
conexiones simultáneas al servidor. En resumen, se hace por escalabilidad.

En cuanto a abrir y cerrar con cada llamada, piensa que el
comportamiento predeterminado de .Net es el de usar el Pool de conexiones.
Cuando cierras una conexión no se cierra de verdad, sino que se devuelve al
pool. La siguiente vez que hay que abrirla, no se abre de verdad, sino que
se recupera la que ya estaba abierta en el pool. Este proceso de "meter y
sacar del pool" es muy rápido (en comparación con lo que se tarda en abrir
realmente una conexión), por lo que el programa tiene un alto rendimiento a
pesar de que aparentemente, al examinar el fuente, parezca que la conexión
se está abriendo y cerrando todo el rato.

Preguntas similares