EXPLAIN e query plan
Leggere il piano di esecuzione
Sezione intitolata “Leggere il piano di esecuzione”EXPLAIN serve a vedere il piano di esecuzione di una query. In altre parole, ti mostra come il database pensa di arrivare al risultato.
Il piano mostra il percorso scelto dal database prima dell’esecuzione.
EXPLAINSELECT *FROM ordiniWHERE totale > 100;Questa query non serve a mostrare gli ordini. Serve a mostrare come il database intende cercarli.
Perché è così utile
Sezione intitolata “Perché è così utile”Guardare il query plan aiuta a capire se:
- il database sta leggendo troppe righe
- manca un indice utile
- una join è costosa
- la query può essere scritta meglio
Non fornisce una soluzione automatica, ma indica dove cercare il problema.
Cosa guardare all’inizio
Sezione intitolata “Cosa guardare all’inizio”Quando sei alle prime armi, cerca soprattutto segnali semplici:
- il database legge tutta la tabella?
- usa un indice?
- stima tantissime righe?