首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql慢查询日志每5秒记录一次相同的查询

Mysql慢查询日志每5秒记录一次相同的查询
EN

Stack Overflow用户
提问于 2013-05-18 05:58:14
回答 1查看 1.3K关注 0票数 1

我在my.cnf中启用了以下变量:

代码语言:javascript
复制
log_slow_queries  = "/var/log/mysql/mysql-slow.log" 
long_query_time  = 2 
log-queries-not-using-indexes

并重新启动了MySQL服务。然后mysql-slow.log每5秒重复记录2次查询(都是完全扫描的小表,不涉及索引)。这两个查询实际上花费的时间都不到0.01秒。日志文件变得越来越大。

我的服务器版本: 5.5.31-0ubuntu0.12.04.1-log (Ubuntu)。

我想知道日志文件执行写入工作的频率是多少,甚至是冗余的工作?我们可以控制一些其他的系统变量来减慢这项工作吗?也有一些类似的问题,例如:

rotating mysql slow query log

Mysql slow query log is logging faster queries

Logging slow queries in MySQL

.

一些专家能解释一下吗?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-18 08:02:21

根据the slow query log上的文档,这是经过设计的

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

对于慢查询,查询必须不是管理语句,或者-- specified.

  • The - long_query_time -

  • 语句必须至少占用行几秒的时间,或者必须启用log_queries_not_using_indexes并且查询没有索引的查询必须至少检查了min_examined_row_limit行。

另外,进一步解释一下这个variable setting does

如果在启用慢查询日志的情况下使用此选项,则会记录预期检索所有行的查询。请参阅第5.2.5节,“慢查询日志”。此选项并不一定意味着不使用索引。例如,使用完整索引扫描的查询使用索引,但会被记录下来,因为索引不会限制行数。

这些查询将在每次触发时被记录下来,直到它们被修改为与触发其日志的行为不匹配为止。如果您关心磁盘空间,您可以轮换日志,正如您链接的问题之一所建议的那样。请参阅此literature on logrotate and example configuration

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16618527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档