Base di conoscenze

1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!

Ottimizzare le query MySQL

Questa guida è progettata per aiutarti a alleggerire e ottimizzare i tuoi database presso Infomaniak.

 

Premessa

  • Il numero e la dimensione dei database sono illimitati.
  • Tuttavia, è fondamentale ottimizzare le tue tabelle (tramite indici) per evitare di sovraccaricare il server e garantire un caricamento rapido del tuo sito, soprattutto quando il volume dei dati aumenta.

 

Ottimizzare le query

Gli indici sono essenziali per le prestazioni: funzionano come l'indice di un libro, permettendo a MySQL/MariaDB di trovare un'informazione senza leggere tutte le pagine. Senza indici, il server deve eseguire una "scansione completa" della tabella, il che è molto dispendioso in termini di risorse.

Un indice è particolarmente efficace sulle colonne utilizzate per filtrare i risultati (clausola WHERE), per eseguire join tra tabelle (JOIN) o per ordinare i dati (ORDER BY).

 

Analizzare con EXPLAIN

Prima di aggiungere un indice, è necessario identificare la query lenta. Il comando EXPLAIN (disponibile anche tramite l'interfaccia di phpMyAdmin) permette di simulare la query.

Osserva la colonna "rows" (numero di righe analizzate) e la colonna "key" (chiave utilizzata). Se "rows" è elevato e "key" è vuoto (NULL), è fortemente consigliato creare un indice.

 

Aggiungere indici

Per aggiungere un indice, puoi utilizzare la scheda "Struttura" di phpMyAdmin o il seguente comando SQL:

ALTER TABLE nom_de_table ADD INDEX nom_index (colonne_cible);

Nota: Indizza solo le colonne necessarie. Troppi indici possono rallentare l'aggiunta o la modifica dei dati (INSERT/UPDATE).

 

Ulteriori informazioni / Riferimenti

Documentazione MySQL 8.0: Ottimizzazione e Indici
Documentazione MySQL 8.0: Comprendere EXPLAIN


Questa FAQ è stata utile?