| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> PHP /MySQL programmering >> Content
    Min forespørgsel er Fast i MySQL og Slow i PHP
    Forbedring af din MySQL forespørgsel gange i dit PHP script øger din browsing hastighed og forhindrer script time outs opstår. PHP er et scriptsprog med funktioner til at hjælpe dig med at oprette dynamiske websider. MySQL er en relationel database management system, der giver flere brugere adgang til databaser på en server. Undersøge årsagen til langsomme forespørgsler med " forklar" erklæring , så den langsomme forespørgslen log og timing din forespørgsler humor " microtime "-funktionen . Brug af BOB - MYSQL udvidelse og opgradering af din PHP og MySQL versioner er muligvis også bidrage til at fremskynde forespørgsler. Instruktioner
    1

    Opdater din PHP og MySQL til de nyeste versioner fra deres hjemmesider. Gamle versioner undertiden i konflikt med hinanden, mens nyere versioner har fejlrettelser og er mere tilbøjelige til at være kompatible med hinanden.
    2

    Åbn din MySQL " my.cnf "-fil i en teksteditor såsom Windows Notesblok. Find og sæt " log_slow_queries " til " ON " i stedet for "OFF". Sæt " long_query_time " til et lavt antal som " 1" og bemærk " log- slow - forespørgsler " bibliotek. Opdater din MySQL service. Den " mysql- slow.log " vil nu vise hvilke forespørgsler tager lang tid at udføre. Dette vil hjælpe dig med at identificere , hvor ofte din forespørgsel udfører langsomt .
    3

    Placer " forklar" erklæring i din forespørgsel inden en "SELECT " erklæring til at hente oplysninger fra optimizer om, hvordan din forespørgsel vil blive henrettet. Den resulterende output kan afsløre årsagen til din langsom forespørgsel, såsom en manglende index
    4

    Time din PHP forespørgsel med " microtime "-funktionen ved at tilføje følgende kode , hvor din forespørgsel er placeret: . < br >

    $ time_beg = microtime (sand) ,

    //placere din forespørgsel her

    $ time_end = microtime (sand) ,

    $ time_res = $ time_end - $ time_start ,

    echo " forespørgslen tog $ time_res sekunder "

    Dette bidrager til at bekræfte , at forespørgslen er den langsomme del, og ikke en anden del af din kode . Kør kode flere gange, indtil du har en konsekvent tid. Sammenlign denne gang værdi, når du gør eventuelle fremtidige timing ændringer
    5

    Kontroller for eventuelle fejl med " mysql_error "-funktionen ved at tilføje følgende kode , hvor din forespørgsel er placeret: .

    $ result = mysql_query ( $ query ) ;

    hvis {

    $ msg = ' Query fejl: » mysql_error () ( $ result !) . . "\\ n";

    die ( $ msg )

    }
    6

    Brug PHP pdo_mysql udvidelse til forespørge din database i stedet for standard " mysql_query " eller " MySQLi " funktioner . Den pdo_mysql forlængelse udnytter MySQL native forberedt erklæring support, som kan bidrage til at fremskynde dine spørgsmål. Følgende kode er et eksempel på , hvordan du sender en MySQL forespørgsel med pdo_mysql udvidelse : Hej

    $ db_info = ' mysql : host = localhost , port = 3306 , dbname = mydb «

    $ user = ' brugernavn ' ;

    $ pass = 'password' ;

    try {

    $ db_handle = new BOB ( $ db_info , $ user , $ pass) ; < br >

    }

    catch ( PDOException $ undtagelse) {

    printf ( "Fejl: % s" , $ undtagelse -> GetMessage ());

    }

    $ db_handle -> setAttribute (BOB :: ATTR_ERRMODE , BOB :: ERRMODE_EXCEPTION )

    $ db_handle -> setAttribute (BOB :: ATTR_AUTOCOMMIT , falsk) ;
    < p> $ sql = " SELECT * FROM MinTabel "

    $ result_set = $ db_handle -> query ( $ sql ),

    $ result_set -> setFetchMode (BOB :: FETCH_ASSOC ) ;

    while ( $ row = $ result_set -> fetch ( )) {

    $ data = $ row [" mycolumn "] ;

    }
    < p> $ result_set -> closeCursor ();

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan aktiveres PHP 5.2.13 UTF8 
    ·Sådan opgraderer MySQL på XAMPP 
    ·Sådan at give adgang til en MySQL-database 
    ·Hvordan skal tjekkes MySQL Null på PHP 
    ·Sådan åbner MySQL database MS Access 
    ·Sådan bruges en Web Service Client 
    ·Sådan Læs Eval Print i PHP 
    ·Sådan bruges Checkbox i PHP 
    ·Sådan læses en tekst -fil fra en klient Brug PHP 
    ·Sådan Genstart MySQL Fra Script 
      Anbefalede Artikler
    ·Sådan Læs CSV-fil i VB 
    ·Hvordan man laver et lotteri spil Brug C + + 
    ·Hvordan man opbygger en kø ud af en liste 
    ·Sådan kører Java koder med ColdFusion 
    ·Forskellen mellem OnBeforeUnload & onUnload 
    ·Hvordan man laver en JavaScript Engine 
    ·Sådan Sammenlign filattributter i VBS 
    ·Sådan oprettes en tabel Brug af PHP 
    ·Sådan Upload en fil til serveren i VB.net 
    ·Sådan bruges Graphic API i VB.NET 
    Copyright © Computer Viden http://www.computerdk.com