我正在使用mysql命令在Linux主机上工作.我有一个运行批处理mysql命令的脚本(如mysql -e "select..."),我希望总结每个命令的执行时间.
有没有办法从命令行获取mysql exec时间?
例如,在mysql交互模式下,执行结果带有时间,如下所示:
mysql> select count(*) from trialtable;
+----------+
| count(*) |
+----------+
| 4000 |
+----------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
我可以在命令行中获得相同的配置文件吗?
谢谢
and*_*oke 17
您可以使用
set profiling=1
Run Code Online (Sandbox Code Playgroud)
然后,
show profiles
Run Code Online (Sandbox Code Playgroud)
这将给出一个命令和时间列表.
请参阅http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html
h/t http://ronaldbradford.com/blog/timing-your-sql-queries-2010-07-07/
msb*_*msb 11
您可以使用 调用 mysql -vv,它的打印效果与您处于交互模式时类似:
$ mysql -vv -u myUser -pMyPass DBname -e 'select count(*) from mytable;'
--------------
select count(*) from mytable
--------------
+----------+
| count(*) |
+----------+
| 1068316 |
+----------+
1 row in set (0.00 sec)
Bye
Run Code Online (Sandbox Code Playgroud)
如果您正在管道查询,那么它是-vvv:
$ echo 'select count(*) from mytable;' | mysql -vvv -u myUser -pMyPass DBname
--------------
select count(*) from mytable
--------------
+----------+
| count(*) |
+----------+
| 1068316 |
+----------+
1 row in set (1.34 sec)
Bye
Run Code Online (Sandbox Code Playgroud)
时间是你的 grep。:D