È cruciale chiudere l'efficienza delle connessioni mysql o si chiude automaticamente dopo l'esecuzione del file php?Sta chiudendo la connessione mysql importante?
risposta
Dal documentation:
Nota: Il collegamento al server saranno chiuse non appena l'esecuzione dello script finisce, meno che non sia chiuso prima richiamando esplicitamente mysql_close().
Se lo script ha una buona quantità di elaborazione da eseguire dopo aver recuperato il risultato e ha recuperato il set di risultati completo, è assolutamente necessario chiudere la connessione. In caso contrario, è possibile che il server MySQL raggiunga il limite di connessione quando il server Web è in uso intensivo. Se non riesci a chiudere la connessione MySQL fino alla fine dello script, è più pulito, anche se non è necessario farlo esplicitamente.
Non sono sicuro di come fastcgi influenzi le cose. One page afferma che una build di PHP che supporta fastcgi creerà connessioni permanenti, anche per mysql_connect. Ciò contraddice la documentazione in quanto la connessione viene chiusa quando il processo, anziché lo script, termina. Piuttosto che provarlo, raccomanderò di usare mysql_close(). In realtà, ti consiglio di utilizzare PDO, se disponibile.
Suppongo che lo stesso valga per ftp_close? – rahmanisback
Significa che se l'utente chiude la pagina (ad esempio) in anticipo (o c'è qualche errore) la connessione potrebbe rimanere aperta? –
@Toni Michel Caubet '" Il collegamento al server verrà chiuso non appena termina l'esecuzione dello script. "' Quando l'utente chiude una pagina in anticipo, non importa per il server PHP. Esegue script come sempre e termina lo script come sempre. Solo l'utente non vedrà il risultato. – arrowman
Quando si utilizza qualcosa come cgi, non è assolutamente necessario chiudere le connessioni mysql poiché si chiudono automaticamente al termine dell'esecuzione dello script. Quando si utilizzano tecnologie persistenti come mod_perl e altri, che mantengono le connessioni tra le richieste, è importante tenere traccia delle connessioni, variabili globali, ecc.
Fondamentalmente, per i dati persistenti, pulire da soli. Per dati banali e non persistenti, tutto andrà via quando la richiesta finirà comunque. In ogni caso, la migliore pratica è quella di chiudere sempre le connessioni.
Sta parlando di PHP, che non è persistente, quindi non si applica. –
È cruciale? Non così tanto
È considerata una buona pratica da seguire? Sì.
Non vedo perché non vorrai chiuderlo.
Bene, considerando che anche la pagina di manuale per 'mysql_close' dice" L'uso di mysql_close() di solito non è necessario, poiché i collegamenti aperti non permanenti vengono automaticamente chiusi al termine dell'esecuzione dello script. " Non considererei davvero una cattiva pratica non chiudere la connessione. – nico
"Non vedo perché non vorresti chiuderlo." Non vorrai chiuderlo se c'è qualche possibilità che tu possa averne bisogno di nuovo. –
se U usa ajax allora se la connessione è chiusa allora ogni volta che U prova ad usare ajax la connessione si aprirà e si chiuderà nuovamente e questo varrebbe la pena lasciare la connessione aperta al server e al client non interessa la connessione aperta o no si preoccupa che il sito web sia la velocità – robert
Si chiude non appena lo script completa l'esecuzione. A meno che tu non abbia aperto una connessione persistente. Idealmente dovresti rilasciare una risorsa (una connessione qui) non appena ne hai finito. A meno che non ci siano buone possibilità che ne avrai di nuovo bisogno molto presto nell'esecuzione.
Il pool di connessioni o l'utilizzo di connessioni permanenti (se questo è ciò che intendevi tu) è una buona idea se sei dietro un singolo server di database. Tuttavia, se ci sono più server e si sta eseguendo il bilanciamento del carico, potrebbe danneggiare la distribuzione del lavoro. In genere alcuni client eseguono query pesanti mentre altri eseguono quelli più leggeri. Quindi, se la stessa connessione viene utilizzata su n over, alcuni server verrebbero colpiti da un carico pesante mentre altri sarebbero inutilizzati. Considerare l'uso di ttls più piccoli e dimensioni del pool di connessione variabili.
- 1. comando SQL Smaltimento e chiudendo la connessione
- 2. Perché la connessione sta terminando
- 3. Dopo l'aggiunta della finestra di dialogo non si sta chiudendo
- 4. IsLightDismissEnabled = "True" in realtà non sta chiudendo il popup
- 5. pcntl_fork e la connessione MySQL sono scomparsi
- 6. La procedura memorizzata MySQL sta causando problemi?
- 7. La tabella Mysql sta esaurendo i codici
- 8. Avviso sulla connessione SSL durante la connessione al database MySQL
- 9. mySQL: verifica della connessione con la query?
- 10. Reindirizzare la connessione TCP MySQL al proxy
- 11. MySQL Workbench: Come mantenere la connessione attiva
- 12. sqlalchemy + timeout di connessione MySQL
- 13. La CPU MySQL aumenta quando la connessione Sleeping rimane aperta
- 14. Verifica connessione mysql in sequenza
- 15. Timeout connessione Hibernate/MySQL
- 16. mysql workbench "Connessione persa al server mysql"
- 17. È importante aprire una connessione sql nel transactioncope
- 18. Come impedire che un evento in un trigger di controllo quando il modulo si sta chiudendo
- 19. Connessione MySql, posso lasciarla aperta?
- 20. C# pratiche di connessione mysql
- 21. Node.js MySQL - Errore: connessione ECONNREFUSED
- 22. Come determinare se una compressione di bootstrap si sta aprendo o chiudendo?
- 23. L'ordine delle colonne è importante nelle tabelle MySQL?
- 24. Android - Connessione al database MySQL
- 25. Connessione a MySQL tramite Cygwin
- 26. Connessione PDQ MySql al database
- 27. Posso aprire una finestra di dialogo di conferma quando l'utente sta chiudendo la finestra in Safari/Chrome?
- 28. Connessione al server MySQL (localhost) molto lento
- 29. Golang come aprire una connessione mysql remota?
- 30. Qual è la stringa di connessione del driver JDBC MySQL?
Suppongo che lo stesso valga per ftp_close? – rahmanisback
Vedi anche questa domanda http://stackoverflow.com/questions/336078/php-mysql-when-is-the-best-time-to-disconnect-from-the-database – alex
Sta chiudendo la connessione mysql importante? sì, è come un distruttore in C++ –