MySQL è uno dei sistemi di gestione di database più popolari per i server web. Se state gestendo un sito WordPress, c’è una buona probabilità che stiate usando MySQL per il database. Per questo è importante capire come ottimizzare le prestazioni di MySQL.

Con l’espressione “ottimizzazione di MySQL” intendiamo ottimizzare il database in modo che il software possa rispondere alle query più velocemente. In definitiva, questo può portare a tempi di caricamento più brevi e a un sito web complessivamente più scattante. Inoltre, se mantenete correttamente il vostro database, dovrebbe continuare a offrire alte prestazioni anche quando le sue dimensioni crescono.

In questo articolo forniremo una breve panoramica su cos’è MySQL e come funziona. Poi vedremo come ottimizzare le prestazioni di MySQL seguendo quattro consigli essenziali.

Diamoci da fare!

Cos’È MySQL e Come Funziona

I siti web dinamici immagazzinano informazioni nei database, un termine sofisticato per indicare una struttura complessa di tabelle che contengono enormi quantità di informazioni. I database vi permettono di memorizzare variabili e di “interrogarle” per le informazioni di cui avete bisogno. Per esempio, quando caricate un sito web WordPress, il Content Management System (CMS) si collega al suo database per ottenere le informazioni di cui ha bisogno.

Se per qualche ragione WordPress non può connettersi al database, potreste incorrere in errori come “MySQL Server Has Gone Away” o “MySQL 1064“. MySQL è un software open-source che vi permette di creare e gestire database. Non è certo l’unico sistema di gestione di database disponibile online. Tuttavia, è quello dominante in termini di quota di mercato, con circa il 15% di tutti i siti web che lo utilizzano.

Al momento la quota di mercato di MySQL supera di poco il 15%.
Quota di mercato di MySQL.

Ci sono diversi approcci alla gestione dei database e MySQL si serve di modelli “relazionali” e “client-server”.
Cosa significa? Ve lo spieghiamo qui di seguito:

  • Database relazionali: Questo tipo di database suddivide le informazioni in tabelle. Grazie al modello relazionale, potete collegare i dati da più tabelle utilizzando “chiavi” o identificatori unici.
  • Modello client-server: Con questo modello, il vostro database risiede nel server e il vostro sito web è il client. I browser fanno richieste al vostro sito web, che a sua volta interroga il database.

Visto che MySQL è un software open-source, ci sono molti fork disponibili. Noi di Kinsta, per esempio, usiamo MariaDB, che è un fork di MySQL. Abbiamo scelto di usare MariaDB perché offre prestazioni migliori rispetto al suo software genitore.

Se siete utenti Kinsta, non dovete preoccuparvi di ottimizzare le prestazioni di MySQL perché ce ne occupiamo noi al posto vostro.

Imparare come far funzionare MySQL più velocemente è comunque un’abilità preziosa, soprattutto se il vostro web host non si occupa dell’ottimizzazione. Vediamo ora cosa comporta questa ottimizzazione.

4 Consigli per Ottimizzare le Prestazioni di MySQL

Se usate WordPress e volete imparare a velocizzare MySQL, la scelta migliore è non concentrarsi su configurazioni specifiche. Vi conviene invece ottimizzare il vostro database per adattarlo al modo in cui usate WordPress.

1. Mantenete Aggiornata la Vostra Versione di MySQL

La maggior parte dei web host si occuperà di aggiornare automaticamente MySQL all’ultima versione. Tuttavia, se avete il controllo completo del vostro server, dovrete aggiornare manualmente il vostro sistema di gestione del database. Dal momento che state usando WordPress, probabilmente comprendete i vantaggi di mantenere il software aggiornato. Ottimizzare le prestazioni di MySQL ha molti vantaggi, come per esempio:

Un software di gestione del database più veloce si traduce in tempi di caricamento inferiori. Tuttavia, può essere che non sappiate quale versione di MySQL state usando. Se avete pieno accesso al vostro server, potete aprire la linea di comando ed eseguire il seguente comando:

mysql -v

Il parametro -v restituirà informazioni sulla versione di MySQL che il vostro server usa. Potete confrontare queste informazioni con le ultime versioni sul sito ufficiale di MySQL per vedere le nuove versioni disponibili. Se non siete a vostro agio con la riga di comando, potete scoprire quale versione di MySQL state usando dalla bacheca di WordPress.

Per prima cosa, accedete alla bacheca e andate su Strumenti > Salute del sito. Poi, aprite la scheda Info e fate clic su Database:

Dalla bacheca di WordPress, sezione Strumenti, potete verificare la versione di MySQL.
Controllare la versione di MySQL in WordPress.

A seconda della vostra versione di MySQL, il software potrebbe aggiornarsi automaticamente. Se non lo fa, potete usare la riga di comando per aggiornare MySQL all’ultima versione. Se state usando Kinsta, non dovete preoccuparvi di aggiornare il software di gestione del database. Aggiorniamo invece automaticamente i client all’ultima versione stabile di MariaDB.

2. Verificate Che il Vostro Database Non Contenga Tabelle Orfane

Spesso i plugin e i temi WordPress che disinstallate dal vostro sito web si lasciano dietro dei dati. Questo può essere dovuto a standard di codifica scadenti o perché i plugin/temi decidono di memorizzare quei dati nel caso vogliate reinstallarli. L’idea dietro questo approccio è che lasciare le impostazioni e le configurazioni memorizzate nel vostro database vi farà risparmiare tempo e lavoro in futuro.

Il problema è che tutte quelle tabelle inutilizzate possono far crescere le dimensioni del database, cosa che a sua volta può rallentare le query a seconda delle capacità del vostro server. Il nostro consiglio è di fare pulizia dopo aver disinstallato i plugin in modo da evitare che si accumulino tabelle e dati orfani. Ci sono due modi per svolgere questo compito: manualmente o tramite un plugin.

Una volta che avete un backup, potete accedere al vostro database tramite phpMyAdmin. Se siete utenti Kinsta, accedete alla vostra bacheca MyKinsta e andate su Siti. Seleziona il sito su cui volete lavorare e andate alla sua scheda Info. Lì troverete un link che vi darà accesso diretto al vostro database tramite phpMyAdmin:

Nel cruscotto MyKinsta trovate una sezione per accedere direttamente a phpMyAdmin.
Accesso a phpMyAdmin tramite MyKinsta.

Una volta che siete dentro phpMyAdmin, potete usare la funzione di ricerca del software per trovare le tabelle orfane relative a specifici plugin. Il problema con questo metodo è che può essere difficile sapere quali query usare a meno che il plugin che state cercando di ripulire abbia una documentazione completa.

Per esempio, Yoast SEO raccomanda di usare la query wpseo per trovare le tabelle relative al plugin dopo averlo disinstallato. Eseguire una rapida ricerca con phpMyAdmin restituirà una lista di voci contenenti quel termine in diverse tabelle:

La schermata di un database con diverse voci relative a Yoast SEO.
Alla ricerca di voci relative a Yoast SEO nel vostro database.

Anche se il metodo manuale funziona, vi consigliamo di usare una plugin apposito per la pulizia del database. Con alcuni di questi plugin, potrete anche trovare le tabelle orfane dall’interno della bacheca ed eliminarle senza dover scavare in phpMyAdmin.

3. Determinare Quali Dati Vengono Caricati Automaticamente da MySQL

Ogni database di WordPress include una vasta gamma di tabelle. Una di queste è chiamata wp_options, e contiene informazioni come:

  • Impostazioni dei plugin e del tema.
  • L’URL del vostro sito, il nome del blog, la descrizione e altro.

Se controllate la tabella wp_options tramite phpMyAdmin, noterete una colonna chiamata autoload. WordPress cerca le righe con una voce yes sotto autoload, poi carica quei dati ogni volta che qualcuno accede al vostro sito web e visita una delle sue pagine:

Una schermata di una database con la ricerca di wp_options per il caricamento automatico dei dati.
Controllo di wp_options per il caricamento automatico dei dati.

Di default, WordPress dovrebbe caricare automaticamente solo i dati critici. Tuttavia, alcuni plugin e temi aggiungono dati a wp_options e li configurano per caricarli automaticamente. Nel corso del tempo, questi dati autocaricati possono rallentare i tempi di risposta, un po’ come se aveste troppi programmi che vengono lanciati automaticamente quando accendete il computer.

Se il vostro sito WordPress è lento e potete vedere molte voci relative ai plugin in wp_options, vi consigliamo di controllare quanti dati vengono caricati automaticamente in WordPress e identificare quali plugin potete permettervi di disattivare.

4. Ripulire le Revisioni, le Bozze, i Commenti Cestinati e i Post

Man mano che usate WordPress, il vostro sito web accumulerà molti dati inutilizzati. Per esempio, WordPress salva automaticamente diverse revisioni e bozze per i vostri post, a seconda di quante modifiche vi apporti. Nel corso del tempo, tutti quei dati possono far crescere il database, quindi è buona norma pulire queste voci periodicamente. Il modo migliore per farlo è con un plugin, come Advanced Database Cleaner:

Il logo del plugin Advanced Database Cleaner WordPress con il testo "Clean & Optimize your Database".
Il plugin Advanced Database Cleaner WordPress.

Non è necessario usare la versione premium del plugin per questo compito (a differenza di quando si tratta di tabelle orfane). Una volta attivato il plugin, potete andare alla scheda WP DB Cleaner e poi alla sezione General cleanup. Lì troverete una lista completa di tutti i dati transitori che il plugin può aiutarvi a rimuovere dal database:

Una schermata di Advanced Database Cleaner per pulire il database.
Utilizzo di Advanced Database Cleaner per pulire il database.

Potete selezionare quali tabelle “pulire” o svuotare, quindi eseguire il processo manualmente. In alternativa, il plugin vi permette di programmare le pulizie per le tabelle scelte e configurarle per essere eseguite periodicamente. Quest’ultima opzione è la migliore: significa che avrete un compito in meno di cui preoccuparvi. Tuttavia, vi raccomandiamo di non riconfigurare la pulizia del database per eseguirla troppo spesso. In questo modo avrete ancora accesso alle bozze precedenti nel caso ne abbiate bisogno.

Riepilogo

I benefici dell’ottimizzazione delle prestazioni di MySQL sono molti. Tuttavia, la ragione principale per cui vi serve ottimizzare il database è quella di aumentare le sue prestazioni, in modo che il vostro sito web si carichi sempre il più velocemente possibile. Dato che state usando WordPress, ci sono molti modi per eseguire un’ottimizzazione delle prestazioni di MySQL senza cambiare la configurazione del software. Se vi interessa imparare a velocizzare MySQL, ecco quattro consigli per iniziare:

  1. Tenete aggiornata la vostra versione di MySQL.
  2. Verificate che il database non contenga tabelle orfane.
  3. Determinate quali dati MySQL sta caricando automaticamente.
  4. Pulite le revisioni, le bozze, i post cestinati e i commenti.

Avete altri consigli per mettere a punto i database MySQL? Condivideteli con la nostra comunità nei commenti qui sotto!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.