mysql slow_log记录的查询时间长于long_query_time

时间:2017-05-21 13:57:22

标签: mysql sql database

我有一个非常奇怪的情况,我使用mysql版本5.5.46使用引擎innoDB。 我有启用slow_log和long_query_time设置为3秒, 虽然我在缓慢的日志查询中完成了不到0.5秒的查询和更多的查询,例如选择/更新和以0.000037秒结束的插入。

# Query_time: 0.002699  Lock_time: 0.000037 Rows_sent: 0  Rows_examined: 1

我检查了天气我已启用参数log_queries_not_using_indexes但它已关闭。

我尝试禁用慢速日志设置为关闭然后打开。 我尝试将long_query_time设置为10秒,但这对问题没有帮助。

重启不是生产系统上当前的选项。

我到处寻找解决方案,我唯一可以想到的是将全局变量:min_examined_row_limit设置为大于1,因为几乎所有在不到1秒内完成的查询只检查1行,但我会不想那样,因为它可能会在以后隐藏问题。

例如,某些日志:

INSERT INTO xxx (X values);
# Time: 170521  9:47:46
# Query_time: 0.006520  Lock_time: 0.000041 Rows_sent: 0  Rows_examined: 1
SET timestamp=1495374466;

UPDATE 'schema_name'.'replication_heartbeat' SET ts='2017-05-21T09:47:46.000720', file='test-db44-bin.089771', position='10638144', relay_master_log_file=NULL, exec_master_log_pos=NULL WHERE server_id='44';
# Time: 170521  9:47:47
# Query_time: 0.014305  Lock_time: 0.000043 Rows_sent: 0  Rows_examined: 1
SET timestamp=1495374467;

UPDATE 'schema_name'.'replication_heartbeat' SET ts='2017-05-21T09:47:47.000700', file='test-db44-bin.089771', position='10760016', relay_master_log_file=NULL, exec_master_log_pos=NULL WHERE server_id='44';

有没有人知道如何从慢速日志中删除所有垃圾?

谢谢大家, 利昂。

0 个答案:

没有答案