首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql命令行中看到高精度的查询时间?

如何在mysql命令行中看到高精度的查询时间?
EN

Stack Overflow用户
提问于 2011-05-24 04:37:22
回答 4查看 10.1K关注 0票数 17

我正在做一些优化工作,我注意到在一些mysql转储中,人们在文章和问题中发布(我现在找不到了,因为我实际上正在寻找),有高精度的执行时间(0.05985215秒而不是0.06秒)。

如何才能在命令行上查看查询的这些更精确的时间?

编辑

这方面的示例如下:

代码语言:javascript
复制
+----------+
| COUNT(*) |
+----------+
| 11596    |
+----------+
1 row in set (0.05894344 sec)

使用性能分析可以在一定程度上解决这个问题,但是会产生太长的输出,我必须记得启用它。我只是在寻找一个简单的高精度的持续时间。

代码语言:javascript
复制
SET profiling = 1;
<query>
SHOW PROFILES;

给了我类似这样的东西:

代码语言:javascript
复制
+----------------------+-----------+
| Status               | Duration  |
+----------------------+-----------+
| (initialization)     | 0.000005  |
| checking permissions | 0.00001   |
| Opening tables       | 0.000499  |
| Table lock           | 0.000071  |
| preparing            | 0.000018  |
| Creating tmp table   | 0.00002   |
| executing            | 0.000006  |
| Copying to tmp table | 6.565327  |
| Sorting result       | 0.000431  |
| Sending data         | 0.006204  |
| query end            | 0.000007  |
| freeing items        | 0.000028  |
| closing tables       | 0.000015  |
| logging slow query   | 0.000005  |
+----------------------+-----------+
14 rows in set (0.00 sec)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-03 02:26:53

看起来最好的解决方案是启用性能分析。目前还没有其他成功的线索。

最好的答案是,使用查询分析。

代码语言:javascript
复制
SET profiling = 1;
<query>
SHOW PROFILES;
票数 15
EN

Stack Overflow用户

发布于 2011-05-25 22:35:15

这个问题最好的答案是查看source of the mysql command line clientrelevant piece of code

代码语言:javascript
复制
static void nice_time(double sec,char *buff,bool part_second)
{
  // ...
  if (part_second)
    sprintf(buff,"%.2f sec",sec);
  else
    sprintf(buff,"%d sec",(int) sec);
}

具有硬编码到(2)中的秒值的小数点后的位数。这将使我得出结论,使用库存mysql安装不可能获得更高的精度时间。

当然,您可以修补此代码,使其可配置,等等,和install from source。我猜这就是你提到的文章和问题中的人正在做的事情。你找到答案的最好机会就是直接问他们(参见我对你的问题的评论)。

票数 10
EN

Stack Overflow用户

发布于 2011-05-24 23:59:52

如果没有看到您正在讨论的转储,它可能是一个用户定义的函数?请参阅此线程( http://lists.mysql.com/internals/33707 ),了解一些陷阱以及如何做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6102744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档