如何在SQLite中测量每个SQL语句查询的执行时间

时间:2016-10-30 12:33:53

标签: sqlite

我想查看查询执行时间(不使用.timer)
我想测量每个SQL语句的执行时间 我想我可以使用Gettimeofday功能 但我不知道每个SQL查询的“开始/结束”点是什么。

简而言之,
- 查询执行期间的起点/终点是什么? - 如何衡量每个查询执行时间? (不使用.timer选项)

1 个答案:

答案 0 :(得分:2)

如果您使用的是OS X,我建议您使用时间(使用终端中的命令行)来测量查询的执行时间。这是迄今为止最简单的方法:

time printf "<your query>;" | sqlite3 databaseFile.db > /dev/null

示例:

time printf "select * from blame;" | sqlite3 mydata.db > /dev/null 

real    0m1.603s
user    0m1.167s
sys     0m0.112s

该命令也适用于linux。我们将输出管道传输到/ dev / null,以避免因保存/打印输出而浪费时间。

打开数据库连接并加载可执行文件会有一些开销,但它会让您对查询的费用(在时间方面)有所了解。

你可以通过做这样的事情来了解这种开销:

time printf ".schema" | sqlite3 mydata.db > /dev/null 

如果您想更好地了解正在发生的事情,我建议您查看命令说明。在sqlite3中执行:

explain select * from table;

您将获得sqlite期望用于计算查询的操作的完整说明。