我如何在mysql命令行中看到高精度查询时间?
|
我正在做一些优化工作,并且我注意到在某些MySQL转储中,人们发表在文章和问题中(实际上我现在再也找不到了),执行时间非常精确(0.05985215秒而不是0.06秒)。
如何在命令行中查询这些更精确的时间?
编辑
例如:
+----------+
| COUNT(*) |
+----------+
| 11596 |
+----------+
1 row in set (0.05894344 sec)
使用性能分析可以帮助我解决问题,但是产生的输出时间太长,我必须记住启用它。我只是在寻找一个简单的高精度持续时间。
SET profiling = 1;
<query>
SHOW PROFILES;
给我这样的东西:
+----------------------+-----------+
| 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)
没有找到相关结果
已邀请:
4 个回复
臀博
搂腹时
将sec值硬编码为(2)的小数点后的位数。这将使我得出结论,使用现有的mysql安装无法实现更高的精度。 当然,您可以修补此代码,使其可配置等,然后从源代码安装。我想这就是您提到的文章和问题中的人正在做的事情。找出答案的最佳机会就是问他们(请参阅我对您问题的评论)。
氏脑
氮顺
:
之所以起作用,是因为mysql二进制文件中目前只有一个格式字符串\'%。2f sec \',但是它可能会随着时间而改变。 您可以通过应用反向补丁恢复为原始二进制文件: