Mysql
 sql >> Database >  >> RDS >> Mysql

Persistente vs non persistente:quale dovrei usare?

Con connessioni persistenti:

  • Non puoi creare un'elaborazione delle transazioni efficace
  • sessioni utente impossibili sulla stessa connessione
  • le app non sono scalabili. Con il tempo potrebbe essere necessario estenderlo e richiederà la gestione/tracciamento delle connessioni persistenti
  • se lo script, per qualsiasi motivo, non è stato in grado di rilasciare il blocco sulla tabella, tutti gli script successivi si bloccheranno a tempo indeterminato e si dovrebbe riavviare il server db. Usando le transazioni, il blocco della transazione passerà anche allo script successivo (usando la stessa connessione) se l'esecuzione dello script termina prima del completamento del blocco della transazione, ecc.

Le connessioni persistenti non portano nulla che puoi fare con le connessioni non persistenti.
Allora, perché usarle?
L'unico motivo possibile sono le prestazioni, per usarle quando si crea un collegamento a il tuo SQL Server è alto. E questo dipende da molti fattori come:

  • tipo di database
  • se il server MySQl si trova sulla stessa macchina e, in caso negativo, a che distanza? potrebbe essere fuori dalla tua rete locale/dominio?
  • quanto è sovraccaricata da altri processi la macchina su cui si trova MySQL

È sempre possibile sostituire le connessioni persistenti con connessioni non persistenti. Potrebbe cambiare le prestazioni dello script, ma non il suo comportamento!

L'RDMS commerciale potrebbe essere concesso in licenza in base al numero di connessioni aperte simultanee e qui le connessioni persistenti potrebbero non funzionare correttamente