【问题标题】:How do I test the real execution time of a query?如何测试查询的实际执行时间?
【发布时间】:2023-04-10 01:08:01
【问题描述】:
我在 Mysql 慢查询日志中得到一个慢查询。 mysql慢查询日志显示查询需要4秒以上才能执行。
我在 phpmyadmin 中运行此查询,需要 3 秒。当我再次运行它时,只需要 0.0002 秒。我想有一个数据库缓存或其他东西。当我第二次运行它时,它的执行时间可能不准确。
对于这种情况(执行时间快),如何测试查询的真实执行时间?
【问题讨论】:
标签:
mysql
performance
mysql-slow-query-log
【解决方案2】:
如果您正在谈论防止 MySQL 缓存结果,您可以使用 SQL_NO_CACHE 关键字。 (例如:SELECT SQL_NO_CACHE * FROM table1)
【解决方案3】:
您可以在第二次执行之前稍微修改您的查询。
所以下面两个查询被查询缓存认为是不同的:
SELECT * FROM tbl_name
Select * from tbl_name
如果查询包含一些特殊函数,如 CONNECTION_ID(),则无法缓存该查询。您可以将此函数添加到您的查询中:
SELECT *,CONNECTION_ID() FROM tbl_name
How the Query Cache Operates