MySQL Workbench查询统计:服务器和客户端计时?

时间:2018-04-25 00:47:58

标签: mysql sql performance mysql-workbench

我从MySQL Workbench运行查询,它允许您查看每个查询的统计信息。这些统计数据的一部分是"时间安排(在客户端测量)"和"时间(由服务器端测量)"。我已经包含了这个输出看起来像什么的例子。

Timing stats from MySQL Workbench

我想知道为什么服务器端的时间比客户端的时间长。我可能完全错了,但我认为客户端会考虑服务器时间和延迟,直到输出信息为止,这将使客户端测量的时间更长。

我是新手,并不熟悉执行时间,但工作台手册没有提供太多帮助,并假设我已经理解了这些值的含义以及它们的工作原理。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

我无法通过文档进行确认,但是对一个非常大的查询进行快速测试并处理返回给客户结果网格的行数提供了一种可能的见解:

无限制:

时间(以客户端为准):执行时间:0:00:0.77752995

计时(由服务器衡量):执行时间:0:00:7.46805535

表锁定等待时间:0:00:0.00018100

“操作输出”窗格中的持续时间/获取时间:0.778秒/7.723秒

10行

计时(以客户端为准):执行时间:0:00:0.38576984

计时(由服务器衡量):执行时间:0:00:0.00058682

表锁定等待时间:0:00:0.00018400

“操作输出”窗格中的持续时间/获取时间:0.386 / 0.00002秒

对我来说,服务器从客户机开始请求记录到停止记录的时间对服务器进行测量,而客户机对服务器生成所需记录数所花费的时间进行测量。可能要返回“准确的”执行时间是将行设置为返回“无限制”,然后在“操作输出”窗格中检查“持续时间”。

我已经在MySQL论坛上发布了,希望得到解释,如果将来会在这里发布。