2

我的 mysql 服务器已long_query_time = 2配置,但我仍然在慢速查询日志中看到这些查询似乎很快:

# Time: 120730  5:06:41
# User@Host: <user> @ <Host> [<IP>] 
# Query_time: 0.000412  Lock_time: 0.000060 Rows_sent: 5  Rows_examined: 5
SET timestamp=1343639201;
SELECT album_id FROM `TB_albums` where album_id!='res_4fe4333271bda7.42833845' and deleted is NULL order by `created_time` desc limit 5;

如您所见 Query_time: 0.000412 Lock_time: 0.000060 似乎远低于 2 秒

您知道为什么会报告这些“快速”查询吗?

4

4 回答 4

4

MySQL 还记录不使用索引的查询

my.cnf 中的选项log-queries-not-using-indexes用于控制这一点。正如您从 my.cnf 的这段代码中看到的那样,我的已关闭(通过注释掉)


# Here you can see queries with especially long duration
log_slow_queries        = /var/log/mysql/mysql-slow.log
long_query_time = 2
#log-queries-not-using-indexes


如果您无权访问 my.cnf,则可以使用 SQL 检查


mysql> show variables like 'log_queries_not_using_indexes';
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF   |
+-------------------------------+-------+
1 row in set (0.00 sec)



希望有帮助!

克里斯

于 2012-07-30T09:20:32.990 回答
1

检查变量log-queries-not-using-indexes

show variables like '%log_queries_not_using_indexes%';
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF   | 
+-------------------------------+-------+

对于您的情况,它必须设置为 OFF,如果为 ON,那么您可以log_queries_not_using_indexes = OFFmy.cnf文件中设置,然后重新启动 MySQL 服务器。

于 2012-07-30T09:23:14.453 回答
0

AFAIK MySQL 测量从查询提交到获取阶段结束的数据获取查询的查询时间。这意味着,类似于

Start timer
Start fast SELECT query
Wait for result 
Check timer and note time
sleep 2 seconds
fetch query results
Stop timer

将以noted time<2sand结束end time>2s,并且触发时间较长的慢查询日志。

于 2012-07-30T09:22:29.227 回答
0

手册中,您需要检查与将查询写入显示查询日志相关的其他配置。

服务器按以下顺序使用控制参数来确定是否将查询写入慢查询日志:

1.查询不能是管理语句,或者必须指定--log-slow-admin-statements。

2.查询必须至少花费 long_query_time 秒,或者必须启用 log_queries_not_using_indexes 并且查询不使用索引进行行查找。

3.查询必须至少检查过 min_examined_row_limit 行。

4.查询不能根据log_throttle_queries_not_using_indexes设置被抑制。

于 2012-07-30T09:24:06.997 回答