我在 .sql 文件中有一些基准查询。如果我使用 mysql 中的源代码来执行它们,mysql 将在每个查询后显示运行时间。并且有页面和页面查询输出。有什么方法可以获得所有查询的总运行时间?
非常感谢!
最佳答案
您可以通过将此行添加到 my.cnf
来使用 MySQL 的内置分析支持:
SET profiling=1;
这使您可以轻松查看每个查询所花费的时间:
mysql> SHOW PROFILES;
+----------+-------------+-------------------------------------------------------------------+
| Query_ID | Duration | Query |
+----------+-------------+-------------------------------------------------------------------+
| 1 | 0.33174700 | SELECT COUNT(*) FROM myTable WHERE extra LIKE '%zkddj%' |
| 2 | 0.00036600 | SELECT COUNT(id) FROM myTable |
| 3 | 0.00087700 | CREATE TEMPORARY TABLE foo LIKE myTable |
| 4 | 33.52952000 | INSERT INTO foo SELECT * FROM myTable |
| 5 | 0.06431200 | DROP TEMPORARY TABLE foo |
+----------+-------------+-------------------------------------------------------------------+
5 rows in set (0.00 sec)
您可以将这些时间相加得到总时间:
SELECT SUM(Duration) from information_schema.profiling;
您可以找到有关 MySQL 分析的更多详细信息 here .
另一种方法是从命令行运行 SQL 查询并使用 Unix time
命令来计时执行。然而,这可能无法为您提供最精确的时间。此外,它不会为您提供每个查询花费多长时间的详细信息,除非您将其与 MySQL 分析结合使用。
关于mysql - mysql中多个查询的总运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13504666/