返回MySQL中选择语句的实际持续时间
问题描述:
在MySQL命令行中执行与以下类似的SELECT查询时。返回MySQL中选择语句的实际持续时间
SELECT * FROM MASTER LIMIT 1000;
它返回:
1000行集< 0.00秒>
当它显然需要大约1.5+秒即可完成。
有谁能告诉我为什么会出现这种情况,甚至更好的如何获得真正的持续时间?
谢谢
答
1.5+秒是指从数据库中获取行所需的时间。
您可以使用SHOW ENGINE INNODB STATUS
打印交易活跃
答
你可以打开分析:
set profiling=1
即可;
show profile for query...
+0
这将返回与命令行相同的值,因此不会修复它(只需要更多的小数点)。这是我一直用于更新和插入语句的方法,其工作得很好。 – edited 2013-03-18 16:50:45
难道是网络延迟? MySQL报告它执行查询所用的时间,不包括接收查询和传输结果所用的时间......根据设置,在网络上发送1000行可能需要1.5秒。 – Adrian 2013-03-18 16:29:10
SELECT * FROM MASTER LIMIT 999; SELECT * FROM MASTER LIMIT 1; 奇怪的是,上面的命令在命令行上返回了一个好的时间,但是在Profiler中无法访问。 – edited 2013-03-18 17:20:34