Nwlapcug.com


Risultati delle Query cache PHP MySQL

A partire da MySQL versione quattro, non è più necessario scrivere codice PHP personalizzato ai risultati della query di MySQL della cache. MySQL contiene una cache di query incorporato che memorizza nella cache risultati per identiche istruzioni "SELECT", tra cui istruzioni preparate. Per utilizzare la cache, modificare il file di configurazione e accenderlo. Una volta attivato, tuttavia, avete la possibilità di ignorare se una query viene memorizzato nella cache mediante il passaggio di una parola chiave nella query che si invia da PHP per MySQL. Rivedere i limiti della cache delle query per assicurarsi che si capisce come la cache funziona prima di scrivere uno script PHP con la cache delle query in mente.

MySQL Query Cache

La cache delle query MySQL acquisisce un'espressione di query da una query "SELECT" e l'insieme completo dei risultati e li colloca in una cache temporanea sul disco o in memoria. Quando uno script PHP invia una query identica a uno che è stato eseguito in precedenza e memorizzato 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

MySQL query cache funziona solo con query "SELECT" e memorizzerà nella cache solo query completa, non sub-SELECT o inline viste. La cache delle query nella cache istruzioni preparate ma non memorizza nella cache le transazioni di database. Non includere i commenti all'inizio della query in istruzioni PHP. Se una condizione di query non inizia con la lettera "S", MySQL determinerà non si tratta di una query "SELECT" e non memorizza nella cache i risultati. Per esempio:

Non farlo
$query = ' / $name è membro corrente Select da membri dove nome = $name';
Fare questo, invece
$query = ' selezionare
da membri dove nome = $name / $name è membro corrente /';
$result = mysql_query;

Imposta query Cache

Per configurare la cache delle query MySQL, modificare il file di configurazione di MySQL su server web, ad esempio "/ etc/mysql/my.cnf" su un Apache web server e impostare le variabili "query-cache-size" e il "query_cache_type". Per "query_cache_type," un valore pari a zero disattiva la cache; uno accende la cache; e due imposta la cache per essere "on"demand. Scegliere una dimensione massima per la cache delle query, in genere tra 20 e 100 megabyte e aggiungere le seguenti righe alla fine del file di configurazione per attivare la query nella cache su e impostare la dimensione a 20 megabyte:

tipo di cache di query = 1
query-cache-size = 20M

La memorizzazione nella cache "On Demand"

Se si desidera controllare quali risultati della query vengono memorizzati nella cache dallo 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 SQL_CACHE * da parte dei clienti dove cust_id ="0089324";
$result = mysql_query;

Se la cache delle query è acceso e non si desidera memorizzare nella cache una determinata query, è possibile passare la parola chiave "SQL_NO_CACHE" da PHP. Per esempio:

$query = "SELECT SQL_NO_CACHE * da parte dei clienti dove cust_id ="0089324";
$result = mysql_query;