Salta ai contenuti
Manuale LogoManuale Logo

EXPLAIN e query plan

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.

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 fornisce una soluzione automatica, ma indica dove cercare il problema.

Quando sei alle prime armi, cerca soprattutto segnali semplici:

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