Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [php + mysql] performance per il numero di connessioni a mysql

    Buongiorno.

    Io son solito aprire la connessione al server mysql all'inizio della pagina e chiuderla al termine di tutte le operazioni.

    Un amico mio invece apre la connessione al server mysql prima di una query e la chiude subito dopo averla eseguita.

    Essendo il mio amico ingegnere informatico, lavorando in una azienda che si occupa proprio di db per grossi clienti, m'è sorto il dubbio.

    Secondo voi qual è la scelta migliore?
    Totò, vero ma strano
    www.ateicos.com

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    Se il tuo amico invece di avere 1 query ne ha 10, cosa fa? Apre e chiude la connessione 10 volte? In tal caso la soluzione più performante è la tua.
    Nel caso particolare di un'unica query invece direi che non c'è tanta differenza, a meno che la pagina non ci metta un'eternità ad essere eseguita e devi far convivere migliaia di utenti contemporanei.
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  3. #3
    Originariamente inviato da marco_c
    Se il tuo amico invece di avere 1 query ne ha 10, cosa fa? Apre e chiude la connessione 10 volte? ...


    Originariamente inviato da marco_c
    ... Nel caso particolare di un'unica query invece direi che non c'è tanta differenza, a meno che la pagina non ci metta un'eternità ad essere eseguita e devi far convivere migliaia di utenti contemporanei.
    il sito in effetti ha un numero elevato di utenti in contemporanea però l'esecuzione della pagina in sé è veloce.
    Totò, vero ma strano
    www.ateicos.com

  4. #4
    Originariamente inviato da ateicos

    il sito in effetti ha un numero elevato di utenti in contemporanea però l'esecuzione della pagina in sé è veloce.
    Lo sarebbe di piu' senza aprire e chiudere la connessione a mysql. Oltretutto chiudere la connessione significa pure azzerare il buffer, cancellare eventuali tabelle tmp, e poi dover rifare la procedura di connessione anche se per lo stesso user tendenzialmente viene riassegnata la stessa connessione precedente. Se necessita vuotare il buffer da grande occupazione del result set si puo' utilizzare mysql_free_result.

    Poi ogni caso / motivazione ha senso solo se associata a specifiche necessita' del progetto. Non si puo' mai generalizzare o fare le cose solo per abitudine.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    398
    L'apertura della connessione a db è un operazione onerosa quindi in linea di massima meno ne fai meglio è.
    Sopratutto se parliamo di pagine web che hanno normalmente un tempo di esecuzione veloce.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.