1000 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