SQLite - EXPLIQUER
L'instruction SQLite peut être précédée du mot-clé "EXPLAIN" ou de l'expression "EXPLAIN QUERY PLAN" utilisée pour décrire les détails d'une table.
L'une ou l'autre des modifications fait que l'instruction SQLite se comporte comme une requête et renvoie des informations sur la manière dont l'instruction SQLite aurait fonctionné si le mot clé ou la phrase EXPLAIN avait été omis.
Le résultat de EXPLAIN et EXPLAIN QUERY PLAN est destiné à l'analyse interactive et au dépannage uniquement.
Les détails du format de sortie sont susceptibles de changer d'une version de SQLite à l'autre.
Les applications ne doivent pas utiliser EXPLAIN ou EXPLAIN QUERY PLAN car leur comportement exact est variable et n'est que partiellement documenté.
Syntaxe
syntaxe pour EXPLAIN est comme suit -
EXPLAIN [SQLite Query]
syntaxe pour EXPLAIN QUERY PLAN est comme suit -
EXPLAIN QUERY PLAN [SQLite Query]
Exemple
Considérez la table COMPANY avec 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 la sous-requête suivante avec l'instruction SELECT -
sqlite> EXPLAIN SELECT * FROM COMPANY WHERE Salary >= 20000;
Cela produira le résultat suivant.
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 ce qui suit Explain Query Plan avec instruction SELECT -
SQLite> EXPLAIN QUERY PLAN SELECT * FROM COMPANY WHERE Salary >= 20000;
order from detail
---------- ---------- -------------
0 0 TABLE COMPANY