sqlite使用php获取EXPLAIN QUERY PLAN结果

时间:2014-09-01 17:45:18

标签: php sqlite

如何对sqlite执行EXPLAIN QUERY PLAN命令以获取结果并使用php在屏幕上显示结果? 我使用简单的Sqlite3 php类http://nl1.php.net/manual/en/class.sqlite3.php,但query()返回SQLite3Result对象,而不是原始转储。

 $result = $db->query("EXPLAIN QUERY PLAN SELECT * from events WHERE type='comment' AND TIMESTAMP > $time AND PAGE = '$page' LIMIT 1");
 echo $result;

1 个答案:

答案 0 :(得分:1)

EXPLAIN QUERY PLAN的行为类似于输出四列表的查询:

sqlite> .mode columns
sqlite> .header on
sqlite> EXPLAIN QUERY PLAN SELECT 1 UNION SELECT 2 GROUP BY 1 ORDER BY 1;
selectid    order       from        detail                      
----------  ----------  ----------  ----------------------------
2           0           0           USE TEMP B-TREE FOR ORDER BY
0           0           0           COMPOUND SUBQUERIES 1 AND 2 

您必须像查询一样输出它,即循环遍历行,并在每列中打印值。

您可能希望改为使用sqlite3命令行shell。