我想检查查询执行时间(不使用.timer)
我想测量每个SQL语句的执行时间。
我想我可以使用Gettimeofday函数。
但是我不知道每个SQL查询的“开始/结束”点是什么。
简而言之,
-查询执行期间的起点/终点是什么?
-如何测量每个查询的执行时间?(不使用.timer选项)
如果您使用的是OS X,我建议您使用时间(使用Terminal中的命令行)来衡量查询的执行时间。到目前为止,这是最简单的方法:
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期望执行的用于计算查询的操作的完整说明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句