Con conexiones persistentes:
- No puede construir un procesamiento de transacciones de manera efectiva
- sesiones de usuario imposibles en la misma conexión
- la aplicación no es escalable. Con el tiempo, es posible que deba ampliarlo y requerirá administración/seguimiento de conexiones persistentes
- si la secuencia de comandos, por cualquier motivo, no pudo liberar el bloqueo de la tabla, las siguientes secuencias de comandos se bloquearán indefinidamente y se debe reiniciar el servidor de base de datos. Al usar transacciones, el bloque de transacciones también pasará al siguiente script (usando la misma conexión) si la ejecución del script finaliza antes de que se complete el bloque de transacciones, etc.
Las conexiones persistentes no aportan nada que pueda hacer con las conexiones no persistentes.
Entonces, ¿por qué usarlas?
La única razón posible es el rendimiento, para usarlas cuando se crea un enlace a su servidor SQL es alto. Y esto depende de muchos factores como:
- tipo de base de datos
- si el servidor MySQl está en la misma máquina y, si no, ¿a qué distancia? podría estar fuera de su red/dominio local?
- cuán sobrecargado por otros procesos la máquina en la que se encuentra MySQL
Uno siempre puede reemplazar las conexiones persistentes con conexiones no persistentes. Puede cambiar el rendimiento del script, ¡pero no su comportamiento!
El RDMS comercial puede tener licencia por la cantidad de conexiones abiertas simultáneas y aquí las conexiones persistentes pueden fallar