Inizio con MySQL versione a quattro , non è più necessario scrivere codice PHP per MySQL nella cache i risultati delle query . MySQL contiene una cache delle query integrato che immagazzina i risultati per le dichiarazioni identiche "SELECT" , tra cui le istruzioni preparate . Per utilizzare la cache , modificare il file di configurazione e accenderlo . Una volta abilitato, tuttavia , si ha la possibilità di ignorare se una query viene memorizzata nella cache , passando una parola chiave nella query si invia da PHP a MySQL . Rivedere i limiti della cache delle query per essere sicuri di capire come funziona la cache prima di scrivere uno script PHP con la cache delle query in mente. MySQL Query Cache
La cache delle query MySQL coglie un'espressione di query da una query "SELECT" e l'insieme completo dei risultati e la loro in una cache temporanea su disco o in memoria dei luoghi. Quando uno script PHP emette una query identica a quella che in precedenza era gestita e memorizzata nella cache , i risultati sono serviti dalla cache piuttosto che il database . Questo può ridurre significativamente la quantità di tempo necessaria per fornire i risultati , che migliora le prestazioni del programma PHP .
Limitazioni
La cache delle query MySQL funziona solo con " , SELECT " query e sarà solo in cache query full , non sub-SELECT o viste in linea . La cache delle query nella cache istruzioni preparate , ma non sarà la cache transazioni di database . Non includere commenti all'inizio di query nelle dichiarazioni PHP . Se una condizione di query non inizia con la lettera " S ", MySQL determinerà non è una query " SELECT" e non memorizzare nella cache i risultati . Per esempio :
//Non fare questa query = $ ' /* $ nome è membro attuale * /SELECT * FROM utenti WHERE nome = $ nome ' ;//Fate questo invece $ query = 'SELECT * FROM utenti WHERE nome = $ nome /* $ nome è membro attuale * /'; $ risultato = mysql_query ( $ query ) ;
Query cache Setup
< p > per configurare la cache delle query MySQL , modificare il file di configurazione di MySQL sul server Web , ad esempio " /etc /mysql /my.cnf " su un server web Apache , e impostare il " query_cache_type " e l '" interrogazione - cache-size "variabili . Per " query_cache_type ", un valore pari a zero disattiva la cache ; uno accende la cache , e due set la cache per essere Scegli una dimensione massima per la cache delle query , in genere tra 20 e 100 "on demand ". megabyte , e aggiungere le seguenti righe alla fine del file di configurazione per attivare la cache delle query e impostare la dimensione di 20 megabyte :
di query -cache - type = 1query -cache - size = 20M
Caching "On Demand"
Se si desidera controllare quali i risultati delle query vengono memorizzati nella cache dal tuo script PHP , impostare il " query cache- tipo" a " 2 " , e passare la parola chiave " SQL_CACHE " dopo l'istruzione "SELECT" in una query PHP . Per esempio :
$ query = "SELECT * FROM SQL_CACHE clienti WHERE cust_id = " 0089324 " ; $ risultato = mysql_query ( $ query ) ;
Se la cache delle query è acceso e non si vuole mettere in cache una particolare query , passare la parola chiave " SQL_NO_CACHE " da PHP . Per esempio :
$ query = "SELECT * FROM SQL_NO_CACHE clienti WHERE cust_id = " 0089324 " ; $ risultato = mysql_query ( $ query ) ;
< br >