如何在没有索引的情况下记录mySQL查询?

Jak*_*ach 6 mysql mysqldumpslow

我看到有一个很好的选择如何启用没有索引的日志慢查询和查询:

  SET GLOBAL log_queries_not_using_indexes=1;
  SET GLOBAL log_slow_queries=1;
Run Code Online (Sandbox Code Playgroud)

好的,好的,但它似乎都写在我在my.cnf配置文件中指定的同一个日志文件中:

  [mysqld]
  long_query_time         = 1
  log-slow-queries        = /var/log/mysql/mysql-slow.log
Run Code Online (Sandbox Code Playgroud)

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

请你帮助我好吗?

先感谢您!

最好,

的Jakub

Dor*_*Dor 7

你不能.日志文件是一个文本文件,您无法从中推断出查询在执行时是否使用了索引.此外,该选项log-queries-not-using-indexes不一定记录未使用索引的查询,请参阅:

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