¿Cuándo conectarse y cuándo desconectarse de la Base de Datos?

Aquí tenemos varias posibilidades, analizaremos lo que implica cada una de ellas:

  1. Conectarse cuando la aplicación (Contabilidad, Facturación, Ventas, Sueldos, etc.) inicia y desconectarse cuando la aplicación finaliza
  2. Conectarse cuando el formulario se inicia y desconectarse cuando finaliza
  3. Conectarse para realizar una tarea y desconectarse cuando la tarea finaliza

¿Cuál elegir?

En general y en casi todos los casos la mejor opción es la número 1. ¿Por qué? porque tener una conexión abierta no puede causarle daño a la Base de Datos y eso de estar abriendo y cerrando conexiones sin necesidad solamente acarreará pérdida de tiempo. Abrir una conexión o cerrar una conexión no es instantáneo, toma unos cuantos milisegundos hacerlo. Puede parecer muy poco pero si lo multiplicas por la cantidad de veces que un usuario lo hace en un día y a ese resultado lo multiplicas por la cantidad de usuarios y a ese resultado lo multiplicas por la cantidad de días laborables del mes puedes encontrarte con muchos minutos o inclusive muchas horas desperdiciadas por estar abriendo y cerrando conexiones sin necesidad.

Pero hay casos en los que sí es conveniente abrir_conexión, realizar_tarea, cerrar_conexión ¿cuáles son esos casos? cuando la señal es débil o es mala o siempre se realiza por Internet. Por ejemplo si alguien está viajando y se conecta al Servidor de la empresa desde su notebook (también llamada laptop) y sufre frecuentes cortes de Internet. O cuando la conexión siempre es a través de Internet (el caso de las aplicaciones “en la nube”).

Pero cuando se trata de una red local que funciona bien no tiene sentido eso de abrir_conexión, realizar_tarea, cerrar_conexión porque ningún beneficio se obtiene de ello y sí perjuicios: por un lado pérdida de tiempo como ya habíamos visto y por el otro que no se podrían usar tablas GTT de conexión, solamente se podrían usar tablas GTT de transacción.

Conclusión:

Si la conexión a la Base de Datos es a través de una red local entonces siempre lo más conveniente es usar la opción 1.

La opción 3 suele ser la más conveniente cuando los cortes de conexión son frecuentes, eso podría suceder cuando alguien está viajando y usando una notebook para conectarse a la Base de Datos que se encuentra en el local de la empresa.

También habría que usar la opción 3. cuando los usuarios siempre o mayormente se conectan por Internet a la Base de Datos.

Lo mejor técnica entonces es que desde tu aplicación el usuario pueda elegir el método de conexión. Aquellos usuarios que lo hacen a través de una red local deberían tener habilitada la opción 1. y aquellos que lo hacen a través de Internet deberían tener habilitada la opción 3. Y siempre deberían tener la posibilidad de cambiarse de la una a la otra.

Artículo relacionado:

El índice del blog Firebird21