Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/10/2004, 10:01
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Las Base de datos .. pueden permitirte ciertos tipos de conexiones de tipo "persistentes", es decir .. (ejemplo para Mysql) ...

Si tu usas mysql_connect() para conectarte a tu BD, .. aunque tu no cierres la conexión a tu BD (mysql_close()) .. PHP cierra las conexiones a las BD establecidas (entre otras cosas) al terminar la ejecución de tu script.

Para usar conexiones persistenets en Msyql puedes usar: mysql_pconnect() .. De igual forma hay que hacer uso de dicha función en cada script/página nueva que ejecutes diferente, lo único que hace Mysql en este caso es "ver" si el link de conexión (el "resource") ya se abrió por el cliente que lo solicita y si es así .. continua con el mismo, y si no está, o se perdió .. reconecta. Esto te ahorra el tiempo de negociación del usuario/contraseña contra tu BD a costa de más recursos del servidor (de Mysql) .. Las conexiones persistentes no son ilimitadas ..

Ahora, .. el dilema sería "uso o no uso conexiones persintes"? .. En ese caso habría que ver si tu aplicación para el uso continuado de la misma (una "sesión") que tanto se "mueven" (se piden páginas a tu servidor que hagan uso de tu BD) o no .. Por norma general .. ya que el servidor de tu BD (Mysql) junto con PHP están en el mismo Servidor .. (haciendo conexiones locales) .. no tiene extremadamente diferencia usar o no conexiones persistentes, y el consumo de recursos (memoria, etc ..) es ostensiblemente menor si no usas conexiones persistentes vs el tiempo de conexión que te puedas ahorrar si usas conexiones persistentes.

-------

Con respecto a la propagación del "resource" de tu conexión a tu BD en una sesión ... no sé si podrá hacer (realmente no he visto ningua capa de abstracción de BD que lo haga . .o no me he percatado de como lo hacen). Tal vez .. usando conexiones persistentes ahí puedas trabajar como quieres hacerlo. Sino, recuerda que PHP cierra la conexión.


Un saludo,