| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> PHP /MySQL Programmazione >> Content
    La mia query è veloce a MySQL e lenta in PHP
    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 ();

    Previous :

    next :
      Articoli Correlati
    ·Come creare fogli di calcolo Excel con MySQL 
    ·Come creare un gioco di ruolo in PHP 
    ·Come inserire un array a una tabella di database utiliz…
    ·Come trovare la dimensione del file in un server PHP 
    ·Come impostare un cookie con PHP in Ajax 
    ·Come creare il tuo sito web con PHP 
    ·Come Wild Card Blocca indirizzi IP 
    ·Come dire a MySQL Query per mantenere Spazio Bianco 
    ·Formazione PHP Sicurezza 
    ·Script Vs . Funzione incorporata nella SSIS 
      Articoli in evidenza
    ·Come convertire l'ora di sistema in zecche sull'ora loc…
    ·La storia di programmatori di computer 
    ·Come codice di un'istruzione IF Else in VB6 
    ·Classi di alta scuola consigliati per Computer grafica 
    ·Come convertire una stringa Java a colori 
    ·Come costruire Dipendenze oggetti 
    ·Visualizzazione di un messaggio in C + + 
    ·Come fare la prima lettera di una stringa di una Capita…
    ·Modalità di accesso a livello di partnership CB in PHP…
    ·Come utilizzare un vbNewLine in Vb.Net 
    Copyright © Conoscenza Informatica http://it.wingwit.com