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
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 ) ;
Programmazione © www.354353.com