Migliorare i tempi di query MySQL nel vostro script PHP aumenta la velocità di navigazione e impedisce timeout dello script si verifichi. PHP è un linguaggio di scripting con caratteristiche che consentono di creare pagine web dinamiche . MySQL è un database relazionale che consente a più utenti con accesso a database su un server. Ricercare la causa del lento query con l'istruzione "spiegare" , permettendo al log delle query lente e tempi vostro query arguzia la funzione " microtime " . Utilizzando l'estensione PDO - MYSQL e aggiornare il proprio versioni di MySQL PHP e può anche contribuire ad accelerare le query . Istruzioni 
 1 
 Aggiorna il tuo PHP e MySQL per le ultime versioni dai loro siti web . Vecchie versioni a volte in conflitto tra loro , mentre le versioni più recenti sono dotate di correzioni di bug e hanno maggiori probabilità di essere compatibili tra loro . 
 2 
 Aprire il file " my.cnf " di MySQL in un editor di testo come ad esempio Windows Blocco note . Individuare e impostare l'opzione " log_slow_queries " su "ON " al posto di "OFF" . Impostare il " long_query_time " per un numero basso , ad esempio " 1" e prendere nota della directory "log- slow - queries " . Ricarica il tuo servizio MySQL . Il " mysql - slow.log " ora visualizza le query che richiedono molto tempo per l'esecuzione. Questo vi aiuterà a identificare la frequenza con cui la query è in esecuzione lentamente . 
 3 
 Posizionare l'istruzione "spiegare" nella query prima che una dichiarazione "SELECT" per recuperare informazioni da l'ottimizzatore a come la vostra query verrà eseguita. L'output risultante può rivelare la causa della vostra query lente , come ad esempio un indice mancante 
 4 
 Ora la query PHP con la funzione " microtime " aggiungendo il seguente codice in cui si trova la query : . 
 
 $ time_beg = microtime ( true); 
 
 //fare la tua ricerca qui 
 
 $ time_end = microtime ( true); 
 
 $ time_res = $ time_end - $ time_start ; 
 
 echo " la query ha avuto $ time_res secondi " ; 
 
 che contribuisce a confermare che la query è la parte più lenta e non qualche altra parte del codice. Eseguire il codice più volte fino a quando si ha un tempo costante. Confrontare questo valore di tempo in cui si apportano modifiche future tempistica 
 5 
 verificare eventuali errori con la funzione " mysql_error " aggiungendo il seguente codice in cui si trova la query : . 
 
 $ risultato = mysql_query ( $ query ) ; 
 
 se { 
 
 $ msg = ' Query di errore: ' mysql_error ( ) ( $ risultato! ) . . " \\ n"; 
 
 die ( $ msg ) per 
 } 
 6 
 utilizzare l'estensione pdo_mysql PHP per interrogare il database invece dello standard " mysql_query " o funzioni " mysqli ". L'estensione pdo_mysql utilizza il supporto di MySQL nativo dichiarazione preparata , che può aiutare a velocizzare le query . Il codice seguente è un esempio di come inviare una query MySQL con l'estensione pdo_mysql : 
 
 $ db_info = ' mysql : host = localhost ; port = 3306 ; dbname = miodb '; 
 
 $ user = 'username' ; 
 
 $ passaggio = ' password'; 
 
 try { 
 
 $ db_handle = new PDO ( $ db_info , $ user , $ pass) ; 
 
 } 
 cattura 
 ( PDOException $ eccezione ) { 
 
 printf ( "Errore : % s" , $ exception - > getMessage ( ) ) ; 
 
 } 
 
 $ db_handle - > setAttribute ( PDO :: ATTR_ERRMODE , DOP :: ERRMODE_EXCEPTION ) ; 
 
 $ db_handle - > setAttribute ( PDO :: ATTR_AUTOCOMMIT , false) ; 
 < p > $ sql = "SELECT * FROM tabella " ; 
 
 $ result_set = $ db_handle - > query ( $ sql ) ; 
 
 $ result_set - > setFetchMode ( PDO :: FETCH_ASSOC ) ; 
 
 while ( $ row = $ result_set - > fetch ( ) ) { 
 
 $ data = $ row [ " mycolumn " ] ; } 
 
 
 < p > $ result_set - > closeCursor ();