Salta ai contenuti

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.

EXPLAIN
SELECT *
FROM ordini
WHERE totale > 100;

Questa query non serve a mostrare gli ordini. Serve a mostrare come il database intende cercarli.

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.

Quando sei alle prime armi, cerca soprattutto segnali semplici:

  • il database legge tutta la tabella?
  • usa un indice?
  • stima tantissime righe?