Simon Willison ha pubblicato SQLite Query Explainer, un piccolo strumento interattivo che aiuta a capire come SQLite esegue una query. Si esegue una query SQL contro un database SQLite direttamente nel browser e il tool annota ogni riga dell’output di EXPLAIN QUERY PLAN e del più basso livello EXPLAIN (il bytecode) con descrizioni in linguaggio naturale di ciò che il query planner e la virtual machine stanno facendo.
L’idea nasce da un’osservazione di Julia Evans in un post sul funzionamento di SQLite («forse un giorno imparerò a leggere un query plan»), sentimento condiviso da molti. Leggere un piano di esecuzione, infatti, richiede di interpretare una notazione compatta che non è immediata per chi non ci lavora abitualmente: l’aggiunta di un livello di spiegazione riga per riga abbassa la barriera d’ingresso.
Come funziona
Il dettaglio tecnicamente interessante è l’architettura: il tool esegue SQLite in Python tramite Pyodide, compilato in WebAssembly, il tutto dentro il browser. Non serve quindi alcun backend né l’invio dei dati a un server: la query gira interamente lato client. Dopo l’esecuzione, il tool mostra sia il risultato sia le due viste annotate del piano, quella ad alto livello (EXPLAIN QUERY PLAN) e quella a livello di bytecode (EXPLAIN).
Willison stesso invita alla cautela: dichiara di non conoscere abbastanza a fondo i query plan di SQLite da poter verificare in prima persona la correttezza delle annotazioni, pur ritenendole plausibili. Il tool è stato costruito con l’assistenza di un modello (Fable) e il codice è disponibile nel repository pubblico di utility dell’autore. Vale quindi come strumento didattico e di esplorazione, non come riferimento autorevole sul comportamento del motore.
Perché può essere utile
Per chi lavora con SQL, saper leggere un piano di esecuzione è la base per capire perché una query è lenta e come un indice cambia la strategia del planner. Uno strumento che gira interamente nel browser, senza installazione, è comodo per sperimentare e per apprendere, anche se le annotazioni vanno prese come punto di partenza da confrontare con la documentazione ufficiale di SQLite.
- Il tool annota EXPLAIN e EXPLAIN QUERY PLAN con spiegazioni in linguaggio naturale.
- Gira interamente nel browser grazie a SQLite in Python via Pyodide e WebAssembly, senza backend.
- L’autore stesso segnala che le annotazioni non sono verificate: utile per imparare, non come riferimento definitivo.
Fonte: Tool: SQLite Query Explainer — https://simonwillison.net/2026/Jul/18/sqlite-query-explainer/
Hai qualcosa da aggiungere? Unisciti alla discussione.