摘自:http://www.sqlite.org/lang_explain.html
关键字”EXPLAIN”或者语句(by the phrase)“EXPLAIN QUERY PLAN”可以放置在SQL语句之前。(关于这句话提供原文,方便后来者观看An SQL statement can be preceded by the keyword “EXPLAIN”).如果没有EXPLAIN关键字或者语句,SQL语句和平常返回查询信息没有什么两样(好难翻译:Either modification causes the SQL statement to behave as q eruy and to return informationabout how the SQL statement would have operated if the EXPLAIN keyword orphrase had been omitted.)
“EXPLAIN”和”EXPLAIN QUERY PLAN”的输出主要用于数据交互的分析以及故障的查找。输出内容的详细信息随着当前SQLite版本的不同,会有所变化。应用程序不应该使用该语句,因为执行的结果是不确定的,并且只有少量的信息记录下来(since their exact behavior variable and only partially documented).
注:在sqlite3.exe使用教程一文中,简单介绍了基本使用,并且通过创建索引,来说明如何分析执行的SQL的效率。
当EXPLAIN关键字出现在SQL语句之前说明,查询的过程中会返回虚拟机执行的指令集合,输出到控制台。当使用EXPLAIN QUERY TEXT的时候,会返回更加高级的信息,其实是返回更加详细的信息。实际上返回的信息主要是扫描整表,还是使用了索引去查询,当然前提是必要建立索引