Beginnend met MySQL versie vier , is het niet langer noodzakelijk om aangepaste PHP- code te schrijven om cache MySQL query resultaten . MySQL bevat een ingebouwde query- cache die resultaten voor identieke " SELECT " verklaringen , met inbegrip van prepared statements zullen cache . Om de cache te gebruiken , pas het configuratie bestand en zet hem aan . Eenmaal ingeschakeld , echter , heb je de mogelijkheid om te overschrijven of een query cache wordt opgeslagen door het passeren van een sleutelwoord in de query die u verzendt vanaf PHP met MySQL . Beoordelen van de beperkingen van de query cache om ervoor te zorgen dat u begrijpt hoe de cache werkt voordat je schrijft een PHP-script met de query cache in het achterhoofd . MySQL Query Cache De MySQL query- cache vangt een query-expressie van een " SELECT " query en de volledige reeks uitkomsten en plaatst ze in een tijdelijke cache op de harde schijf of in het geheugen . Als een PHP script EUMC een identieke query naar een dat was voorheen gerund en in het cachegeheugen , worden de resultaten geserveerd uit de cache in plaats van de database. Dit kan een aanzienlijke vermindering van de hoeveelheid tijd die nodig is om de resultaten , die de prestaties van het PHP-programma verbetert bieden . Beperkingen De MySQL query- cache werkt alleen met " , SELECT " queries en zal alleen de cache vol vragen , geen inline uitzicht subselects of . De query cache cache prepared statements , maar zal niet databasetransacties cache . Neem geen reacties bij het begin van queries in PHP statements . Als een query voorwaarde niet begint met de letter " S ", MySQL zal bepalen is het niet een " SELECT " query en zal niet de resultaten cachen . Bijvoorbeeld : //Gebruik dit $ query = niet doen ' /* $ naam is huidig lid * /SELECT * FROM leden WHERE naam = $ naam ' ;//Doe dit ipv $ query = " SELECT * FROM leden WHERE naam = $ naam /* $ naam is huidig lid * /' ; $ result = mysql_query ( $ query ) ; Query Cache Setup Om de MySQL query- cache te configureren , bewerken de MySQL configuratie bestand op de webserver , bijvoorbeeld " /etc /mysql /my.cnf " op een Apache web server , en zet de " query_cache_type " en de " query- - cache - grootte " variabelen . Voor " query_cache_type , " een waarde van nul schakelt de cache , een windingen op de cache , en twee sets de cache te kiezen een maximale grootte van de query cache , typisch tussen 20 en 100 "on demand ". megabytes , en de volgende regels toe aan het einde van het configuratiebestand om de query cache aan en stelt u de afmeting 20 megabytes : query cache - type = 1query - cache - size = 20M Caching " On Demand " Als u wilt bepalen welke query resultaten zijn cache van uw PHP-script , zet de " query cache - type" naar " 2 " , en passeren het sleutelwoord " SQL_CACHE " na de " SELECT " statement in een PHP- query. Bijvoorbeeld : $ query = "SELECT SQL_CACHE * FROM klanten WHERE cust_id = " 0089324 " ; $ result = mysql_query ( $ query ) ; Als de query cache is ingeschakeld en u niet wilt dat een bepaalde query cache , voorbij het sleutelwoord " SQL_NO_CACHE " van PHP . Bijvoorbeeld : $ query = "SELECT * FROM SQL_NO_CACHE klanten WHERE cust_id = " 0089324 " ; $ result = mysql_query ( $ query ) ; < br > |