Before the SQLite statement, you can use the “EXPLAIN” keyword or the “EXPLAIN QUERY PLAN” phrase to describe the details of the table.
If omitted
EXPLAIN
Keyword or phrase, any modification will cause
SQLite
Statement and returns a query related to the
SQLite
Information about how the statement operates.
From
EXPLAINAndEXPLAIN QUERY PLANIs used only for interactive analysis and troubleshooting.The details of the output format may vary depending on the version of SQLite.
1.43.1. Grammar ¶
EXPLAIN
The syntax is as follows:
EXPLAIN [SQLite Query]
EXPLAIN
QUERY
PLAN
The syntax is as follows:
EXPLAIN QUERY PLAN [SQLite Query]
1.43.2. Example ¶
Hypothetical
COMPANY
The table has the following records:
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
Now, let’s check
SELECT
In the statement
Explain
Use:
sqlite> EXPLAIN SELECT * FROM COMPANY WHERE Salary >= 20000;
This will produce the following results:
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
Now, let’s check
SELECT
The Explain Query Plan in the statement uses:
SQLite> EXPLAIN QUERY PLAN SELECT * FROM COMPANY WHERE Salary >= 20000;
order from detail
---------- ---------- -------------
0 0 TABLE COMPANY