Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/05/2008, 01:29
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 3 meses
Puntos: 51
Respuesta: pool de conexiones

Exactamente. Hay que tener en cuenta ademas que en este caso, hacer un close() de la conexion no es cerrar la conexion, si no devolverla al pool*. Lo importante del pool es que mantiene abiertas las conexiones por que lo que nos ahorramos el tiempo de conexion a la BDD, usualmente 1~2 segundos minimo, y que por otro lado, al limitar las conexiones que se crean simultaneamente, estamos protegiendo la BDD frente a picos de carga.

Si abrimos demasiadas conexiones a la vez contra la BDD o las cerramos/abrimos con demasiada frecuencia, la BDD "sufre" y el rendimiento global cae.

Por eso es tan importante usar un pool de conexiones en aplicaciones web, donde la concurrencia es la norma y los picos de carga pueden ocurrir en cualquier momento. Las aplicaciones de escritorio que se conectan directamente a una BDD no tienen ese problema, aunque si tienen que hacer varias tareas a la vez, tambien pueden beneficiarse de los pool.

S!

*: No es así en todos los pools pero si es muy habitual y es así en la especificacion del java.sql.DataSource que se usa en servidores de aplicaciones Java. Personalmente no me gusta que usen el mismo nombre y aislen totalmente la conexion, el pool que tengo hecho yo no funciona así, pero es como esta hecho DataSource.
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.