在SQLite EXPLAIN QUERY PLAN

时间:2016-06-11 20:25:13

标签: sqlite

有几个EXPLAIN QUERY PLAN SELECT ...给出结果的示例,包括使用(~NNN rows)访问的估计行数。 docs给出了一个例子:

sqlite> EXPLAIN QUERY PLAN SELECT a, b FROM t1 WHERE a=1; 
0|0|0|SCAN TABLE t1

然后说:

  

上面的示例显示SQLite估计全表扫描将访问大约100,000条记录。

但我不清楚有关100,000行的信息在哪里?

当我执行EXPLAIN QUERY PLAN时,即使在运行(~NNN rows)后,它也没有显示我在其他地方看到的ANALYZE。我可以在某处设置选项或标志吗?

$ sqlite3 --version
3.9.2 2015-11-02 18:31:45 bda77dda9697c463c3d0704014d51627fceee328

$ sqlite
sqlite> .open master_db.sqlite
sqlite> EXPLAIN QUERY PLAN SELECT * FROM dk_table WHERE pk > 4;
0|0|0|SEARCH TABLE r2r_data USING INTEGER PRIMARY KEY (rowid>?)

我希望看到类似的东西:

0|0|0|SEARCH TABLE r2r_data USING INTEGER PRIMARY KEY (rowid>?) (~200 rows)

1 个答案:

答案 0 :(得分:1)

documentation也说:

  

输出格式的详细信息可能会从SQLite的一个版本更改为下一个版本。

其中一项更改删除了行计数估算值。