Включение «log_queries_not_using_indexes» отключает «long_query_time»?


13

Я заметил , что в Mysql, при включении log_queries_not_using_indexes, slow_query_logи long_query_timeсгенерированный файл журнала медленных запросов будет содержать много запросов , даже если время запроса намного меньше long_query_time.

Кажется, что после log_queries_not_using_indexesвключения Mysql будет регистрировать все запросы, которые не используют индексы, независимо от того, что такое «long_query_time».

Есть ли способ преодолеть это? Я имею в виду, есть ли способ регистрировать все запросы, которые занимают больше времени, чем long_query_timeнезависимо от того, используют ли они индексы?

Ответы:


27

Это ожидаемое поведение. Обратитесь к документации онлайн, но в итоге:

  • long_query_timeпорог времени выполнения запроса, после которого он регистрируется. Любые запросы, занимающие больше порога, регистрируются независимо от того, используют ли они индекс или нет.

  • log_queries_not_using_indexesговорит MySQL дополнительно регистрировать все запросы, которые не используют индекс, чтобы ограничить количество проверенных строк. Регистрация в этом состоянии происходит независимо от времени выполнения.

Надеюсь, это поможет объяснить, что вы видите. Похоже, что вы, вероятно, просто хотите, long_query_timeа не log_queries_not_using_indexes если ваша цель - захватывать только запросы, которые занимают больше времени, чем определенный порог.

Ссылки на документы: http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_log-queries-not-using-indexes

http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_long_query_time


5
MySQL должен позволять регистрировать каждый из этих двух типов запросов в свой собственный файл. Я придумал метод поиска строк, в которых указано время запроса, который позволяет легко визуально сканировать медленные запросы, но было бы лучше иметь отдельные файлы.
Ночная сова

Что это значит, когда особо упоминается здесь: «Регистрация в этом состоянии происходит независимо от времени выполнения». ?
user10089632

@ user10089632 прочтите документ по первой ссылке выше.
Дезсо
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.