在MySQL中记录慢查询

时间:2011-08-24 09:04:04

标签: mysql

我在 my.ini

中添加了以下内容
log_slow_queries  = "C:\Program Files (x86)\MySQL\MySQL Server 5.0\mysql-slow.log" 
long_query_time  = 3 
log-queries-not-using-indexes

我重启了MySQL服务。 mysql-slow.log中列出了慢查询,但问题是列出了所有查询。我只想列出那些花费超过3秒的查询

以下是mysql-slow.log的摘录:

# Query_time: 0  Lock_time: 0  Rows_sent: 29  Rows_examined: 29
SHOW TABLES LIKE 'tblRaw2%';

这里Query_time被列为0我只想要那些超过3秒的查询。 如果my.ini中还有其他字段要设置,请指出

由于

3 个答案:

答案 0 :(得分:3)

您的数据库可能没有indexes,您已定义:

log-queries-not-using-indexes应该被记录下来。

删除log-queries-not-using-indexes然后重试。

答案 1 :(得分:3)

这可能会有所帮助

http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_log-queries-not-using-indexes

  

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

您的两种情况都只是案例

答案 2 :(得分:0)

如果您正在寻找有关如何记录MySQL慢查询和分析它们的相关信息,请查看http://www.installationpage.com/mysql/mysql-importance-slow-log-processing/上有关该主题的最新帖子

相关问题