Quale pratica è la migliore per la connessione al database? (PHP, ecc.)

1

Lascia una connessione di database aperta durante l'esecuzione dell'applicazione, o per ogni volta che verrà eseguita un'operazione verrà creata una nuova connessione?

Aperto durante l'esecuzione: Apri aplication - > Connessione aperta; Operazioni - > usa la connessione aperta - > commettere; Chiudi aplication - > connessione chiusa;

Per ogni volta che verrà eseguita un'operazione: Apri aplication - > ...; Operazioni - > creare una connessione, eseguire un'operazione, commettere, chiudere la connessione; Chiudi aplication - > ...;

    
posta Ícaro Leandro 17.04.2013 - 16:45
fonte

1 risposta

5

La procedura migliore per le connessioni al database è la stessa indipendentemente dalla lingua utilizzata.

Hai un pool di connessioni aperte all'inizio della tua applicazione. Prendi una connessione dal pool come tardi il più possibile. Restituiscilo nel pool come presto il più possibile.

Non tenere mai una connessione fuori dalla piscina a meno che non venga utilizzata. Non avere Connections come variabili membro in una classe. Ho visto molti involucri di livello dati orribili che non fanno altro che duplicare l'interfaccia API mentre introducono uno stato non necessario con la connessione.

L'API contro cui si programma può nascondere l'implementazione del pool. Ma sarai comunque responsabile per il mantenimento del take in ritardo, ritorna presto alla regola.

Dovresti codificare in uno stile che garantisce che la connessione venga restituita al pool in caso di un'eccezione. Questo potrebbe essere ottenuto con i costrutti try / finally in Java. "using" i blocchi in C #. RAII in C ++.

    
risposta data 17.04.2013 - 17:17
fonte