Ver Mensaje Individual
  #11 (permalink)  
Antiguo 23/09/2008, 15:11
Avatar de ArrauKano
ArrauKano
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 6 meses
Puntos: 4
Respuesta: Mejor desconectar de la BD o no despues de una conexion?

Es muy difícil que en 1 script "grandote" hagamos solo un query.

Además recuerda que la ejecución de cada conexión, se efectúa por cada vez que se inicia el script y se cierra (usualmente) al terminar la ejecución y mandar las salidas. Es decir, CADA VEZ que recargas la página, estas volviendo a abrir una conexión, haciendo consultas y cerrándola al final.

Lo que es irrisorio, es abrir y cerrar conexiones durante el flujo de 1 script, por ejemplo en una sola recarga, abrir conexión/hacer query/cerrar conexión, 10 veces. Tanto el proceso de abrir como cerrar la conexión son un proceso costoso en tiempo de ejecución (probablemente también de memoria), por lo tanto es una estupidez hacerlo.

En este caso, lo que si ocurrirá es que si entran 5 personas a la vez, se abriran 5 conexiones, y cada cual hará 10 querys, es decir, 50 queries simultáneos.

Debido a esto, es que existen 2 ayudas en los motores de base de datos:

1) conexiones persistentes (nunca he trabajado con ellas, así que no se más), el concepto es que cada ejecución de un script reutilice la misma conexión.

2) Transacciones: ¿Como te aseguras que 2 usuarios que trabajan los mismos datos, no pasen a llevar los datos del otro cuando se hacen muchos queries? ¿Como te aseguras de que al ejecutar varios queries, si uno falla, el resultado no corrompa los datos o cause inconsistencias?
__________________
Blog | Tecnosquad