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 ottimizzare e ridurre le dimensioni dei tuoi database su Infomaniak.
Introduzione
- Il numero e le dimensioni dei database sono illimitati.
- Tuttavia, è fondamentale ottimizzare le tabelle (tramite gli indici) per evitare di sovraccaricare il server e garantire una visualizzazione rapida del tuo sito, soprattutto quando il volume di dati aumenta.
Ottimizzare le query
Gli indici sono essenziali per le prestazioni: funzionano come l'indice di un libro, consentendo 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 richiede molte 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) consente di simulare la query.
Osserva la colonna "rows" (numero di righe analizzate) e la colonna "key" (chiave utilizzata). Se "rows" è elevato e "key" è vuota (NULL), è fortemente consigliabile 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: indicizza 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
Link a questa FAQ: https://faq.infomaniak.com/377
Questa FAQ è stata utile?