EXPLAIN e query plan
Quando una query è lenta, non si indovina: si guarda il piano
Sezione intitolata “Quando una query è lenta, non si indovina: si guarda il piano”EXPLAIN serve a vedere il piano di esecuzione di una query. In altre parole, ti mostra come il database pensa di arrivare al risultato.
È come chiedere a un navigatore: “che strada pensi di fare?” Prima di cambiare percorso, vuoi vedere il tragitto scelto.
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 ti dà una soluzione automatica, ma ti dà la mappa del 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?