如何记录没有索引的mySQL查询?

如何记录没有索引的mySQL查询?,mysql,mysqldumpslow,Mysql,Mysqldumpslow,我看到了一个很好的选项,如何启用日志慢速查询和无索引查询: SET GLOBAL log_queries_not_using_indexes=1; SET GLOBAL log_slow_queries=1; 好的,好的,但似乎两者都写入了我在my.cnf配置文件中指定的同一个日志文件: [mysqld] long_query_time = 1 log-slow-queries = /var/log/mysql/mysql-slow.log

我看到了一个很好的选项,如何启用日志慢速查询和无索引查询:

  SET GLOBAL log_queries_not_using_indexes=1;
  SET GLOBAL log_slow_queries=1;
好的,好的,但似乎两者都写入了我在my.cnf配置文件中指定的同一个日志文件:

  [mysqld]
  long_query_time         = 1
  log-slow-queries        = /var/log/mysql/mysql-slow.log

我使用mysqldumpslow查看最慢的查询,但是我需要做什么才能单独查看没有索引的查询?

您不能。日志文件是一个文本文件,您无法从中推断查询在执行时是否使用了索引。 此外,选项
记录不使用索引的查询
不一定记录不使用索引的查询:

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


我认为您必须一次完成一个步骤。顺便说一句,请查看mysqlsla作为日志分析器: