0

我在 Mysql 慢查询日志中得到一个慢查询。Mysql慢查询日志显示查询需要超过4秒才能执行。

我在 phpmyadmin 中运行此查询,需要 3 秒。当我再次运行它时,只需要 0.0002 秒。我想有一个数据库缓存或其他东西。当我第二次运行它时,它的执行时间可能不准确。

对于这种情况(执行时间很快),如何测试查询的真实执行时间呢?

4

3 回答 3

2

仅用于测试目的,您可以使用 SQL_NO_CACHE

SELECT SQL_NO_CACHE * FROM `table` .....

query_cache_type您可以为当前会话设置为 0 的其他方式

SET SESSION query_cache_type=0;

SQL_NO_CACHE

查询缓存配置

于 2013-11-14T23:08:34.813 回答
1

如果您正在谈论防止 MySQL 缓存结果,您可以使用SQL_NO_CACHE关键字。(例如SELECT SQL_NO_CACHE * FROM table1:)

于 2013-11-14T23:08:40.010 回答
0

您可以在第二次执行之前稍微修改您的查询。

因此,查询缓存将以下两个查询视为不同:

SELECT * FROM tbl_name
Select * from tbl_name

如果查询包含一些特殊函数,如 CONNECTION_ID(),则无法缓存查询。您可以将此功能添加到您的查询中:

SELECT *,CONNECTION_ID() FROM tbl_name

查询缓存如何操作

于 2016-01-08T13:47:18.630 回答