Un server MySQL, pur non avendo ancora il livello di complessità di soluzioni tipo Oracle o PostgreSQL, necessita di impostazioni fini e variegate. Queste configurazioni si possono impostare tramite il file di configurazione di MySQL, tramite una query o tramite un software appositamente progettato.
Per venire incontro alle necessità degli amministratori di database, la MySQL AB ha rilasciato un pacchetto di software molto interessanti (per lo più ancora in fase di sviluppo) che prende il nome di MySQL GUI Tools. In questo pacchetto sono inclusi:
Tutti i software sono distribuiti gratuitamente e offrono funzionalitù e caratteristiche di qualità.
Dalla versione 4.0.1 MySQL possiede un sistema di caching interno per ottimizzare le risorse di sistema. Questa caratteristica, attivabile tramite il file di configurazione di MySQL, analizza la query inviata e controlla l'esistenza di record precedentemente estratti per evitare di eseguire nuovamente la query.
In pratica la prima volta i risultati vengono estratti, salvati in memoria (Ram) e serviti al client richiedente. Al successivo tentativo di accesso a tali dati non sarà più necessario accedere all'hard disk in lettura, applicare le clausole specificate in WHERE, ordinare i dati e servirli al client; basterà attingere alla memoria predisposta dal server in precedenza. Ovviamente ogni accesso in scrittura al database che modifichi in qualche modo i dati causerà la cancellazione della copia salvata in cache evitando di avere dati inconsistenti.
L'accesso ai dati in Ram consente di incrementare in maniera significativa le prestazioni del database. Di contro è necessario tenere presente che la quantità di Ram disponibile è limitata e quindi è necessario scendere ad un compromesso tra ottimizzazione dell'accesso ai dati del database e prestazioni generali del sistema per evitare di usare alternative più lente della Ram.
Attenzione: la cache si attiverà solo se le due query passate dal client al server sono identiche byte per byte: uno spazio in più, una maiuscola al posto di una minuscola, un commento in più non faranno beneficiare le due query del caching.
Nonostante esistano diverse direttive di configurazione per attivare e impostare finemente il sistema di cache delle query scoprire se è in funzione è abbastanza semplice, ci basterà infatti eseguire un'unica query e leggerne il risultato: Yes evidenzia l'attività del sistema, No ci dice invece che è necessario attivarlo.
SHOW VARIABLES LIKE 'have_query_cache';
Alternativamente con MySQL Administrator è possibile avere immediatamente un riscontro visivo dell'andamento della cache: cliccando su Health nella colonna di sinistra, quindi sul tab Memory Health avremo nel grafico denominato Query Cache Hitrate l'andamento istantaneo del nostro sistema. Una linea fissa a zero ci indica subito che il sistema di cache non è in funzione.
Figura 1: il Query Cache Hitrate

Avere il sistema di caching attivo è solo un primo passo: è necessario ora essere certi di avere un sistema efficiente e capace quindi di farci risparmiare effettivamente tempo e risorse.
|
SQL Maintenance Solution: soluzione free per la manutenzione di SQL Server |
Guida AccessIniziare a sviluppare database grazie alla potenza visuale offerta... |
Guida SQL Server 2005L'RDBMS di Microsoft è uno dei più utilizzati, soprattutto in ambito... |
Guida OracleScoprire ed approfondire un dei più importanti RDBMS sulla scena... |
Ogni settimana, in due distinte newsletter: notizie a approfondimenti su MySQL, SQLserver e Oracle.
Iscriviti alla newsletter