简述
SQLite 语句前面可以使用关键字“EXPLAIN”或用于描述表详细信息的短语“EXPLAIN QUERY PLAN”。 任何一种修改都会导致 SQLite 语句作为查询运行,并返回有关 SQLite 语句在省略 EXPLAIN 关键字或短语的情况下将如何操作的信息。 EXPLAIN 和 EXPLAIN QUERY PLAN 的输出仅用于交互式分析和故障排除。 从 SQLite 的一个版本到下一个版本,输出格式的详细信息可能会发生变化。 应用程序不应使用 EXPLAIN 或 EXPLAIN QUERY PLAN,因为它们的确切行为是可变的并且仅部分记录。句法
语法为 EXPLAIN 如下 -EXPLAIN [SQLite Query] 语法为 EXPLAIN QUERY PLAN 如下 - EXPLAIN QUERY PLAN [SQLite Query] 例子
考虑具有以下记录的COMPANY表 - ID NAME AGE ADDRESS SALARY---------- ---------- ---------- ---------- ----------1 Paul 32 California 20000.02 Allen 25 Texas 15000.03 Teddy 23 Norway 20000.04 Mark 25 Rich-Mond 65000.05 David 27 Texas 85000.06 Kim 22 South-Hall 45000.07 James 24 Houston 10000.0 现在,让我们使用 SELECT 语句检查以下子查询 - sqlite> EXPLAIN SELECT * FROM COMPANY WHERE Salary >= 20000; 这将产生以下结果。 addr opcode p1 p2 p3---------- ---------- ---------- ---------- ----------0 Goto 0 191 Integer 0 02 OpenRead 0 83 SetNumColu 0 54 Rewind 0 175 Column 0 46 RealAffini 0 07 Integer 20000 08 Lt 357 16 collseq(BI9 Rowid 0 010 Column 0 111 Column 0 212 Column 0 313 Column 0 414 RealAffini 0 015 Callback 5 016 Next 0 517 Close 0 018 Halt 0 019 Transactio 0 020 VerifyCook 0 3821 Goto 0 122 Noop 0 0 现在,让我们检查以下内容 Explain Query Plan 使用 SELECT 语句 - SQLite> EXPLAIN QUERY PLAN SELECT * FROM COMPANY WHERE Salary >= 20000;order from detail---------- ---------- -------------0 0 TABLE COMPANY
