返回MySQL中选择语句的实际持续时间

问题描述:

在MySQL命令行中执行与以下类似的SELECT查询时。返回MySQL中选择语句的实际持续时间

SELECT * FROM MASTER LIMIT 1000; 

它返回:

1000行集< 0.00秒>

当它显然需要大约1.5+秒即可完成。

有谁能告诉我为什么会出现这种情况,甚至更好的如何获得真正的持续时间?

谢谢

+0

难道是网络延迟? MySQL报告它执行查询所用的时间,不包括接收查询和传输结果所用的时间......根据设置,在网络上发送1000行可能需要1.5秒。 – Adrian 2013-03-18 16:29:10

+0

SELECT * FROM MASTER LIMIT 999; SELECT * FROM MASTER LIMIT 1; 奇怪的是,上面的命令在命令行上返回了一个好的时间,但是在Profiler中无法访问。 – edited 2013-03-18 17:20:34

1.5+秒是指从数据库中获取行所需的时间。

您可以使用SHOW ENGINE INNODB STATUS打印交易活跃

你可以打开分析:

set profiling=1

即可;

show profile for query...

http://dev.mysql.com/doc/refman/5.0/en/show-profile.html

+0

这将返回与命令行相同的值,因此不会修复它(只需要更多的小数点)。这是我一直用于更新和插入语句的方法,其工作得很好。 – edited 2013-03-18 16:50:45