SQLite Explain (Explication)
Avant une instruction SQLite, le mot-clé "EXPLAIN" ou l'expression "EXPLAIN QUERY PLAN" peuvent être utilisés pour décrire les détails de la table.
Si le mot-clé ou l'expression EXPLAIN est omis, toute modification déclenchera le comportement de requête de l'instruction SQLite et renverra des informations sur la façon dont l'instruction SQLite fonctionne.
La sortie de EXPLAIN et EXPLAIN QUERY PLAN est uniquement utilisée pour l'analyse interactive et le dépannage.
Les détails du format de sortie peuvent changer avec les différentes versions de SQLite.
Les applications ne doivent pas utiliser EXPLAIN ou EXPLAIN QUERY PLAN, car leur comportement exact est variable et seulement partiellement documenté.
Syntaxe
EXPLAINLa syntaxe est la suivante :
EXPLAIN [SQLite Query]
EXPLAIN QUERY PLANLa syntaxe est la suivante :
EXPLAIN QUERY PLAN [SQLite Query]
Exemple
Supposons que la table COMPANY contient les enregistrements suivants :
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
Maintenant, vérifions l'utilisation d'Explaindans l'instruction SELECT :
sqlite> EXPLAIN SELECT * FROM COMPANY WHERE Salary >= 20000;
Cela produira les résultats suivants :
addr opcode p1 p2 p3 ---------- ---------- ---------- ---------- ---------- 0 Goto 0 19 1 Integer 0 0 2 OpenRead 0 8 3 SetNumColu 0 5 4 Rewind 0 17 5 Column 0 4 6 RealAffini 0 0 7 Integer 20000 0 8 Lt 357 16 collseq(BI 9 Rowid 0 0 10 Column 0 1 11 Column 0 2 12 Column 0 3 13 Column 0 4 14 RealAffini 0 0 15 Callback 5 0 16 Next 0 5 17 Close 0 0 18 Halt 0 0 19 Transactio 0 0 20 VerifyCook 0 38 21 Goto 0 1 22 Noop 0 0
Maintenant, vérifions l'utilisation d'Explain Query Plandans l'instruction SELECT :
SQLite> EXPLAIN QUERY PLAN SELECT * FROM COMPANY WHERE Salary >= 20000;
order from detail ---------- ---------- ------------- 0 0 TABLE COMPANYAutres extensions