Расширенная статистика журнала медленных запросов
Обзор
- Добавлена дополнительная информация в журнал медленных запросов: 'Thread_id, Schema, Попадание в кэш запросов, Отправленные строки и Проверенные строки'
- Добавлена возможность в журнал медленных запросов, через log_slow_verbosity, записывать статистику планов запросов
- Добавлены новые переменные сеанса log_slow_rate_limit, log_slow_verbosity, log_slow_filter
- Добавлен log-slow-file как синоним для 'slow-log-file', так как большинство переменных журнала медленных запросов начинаются с 'log-slow'
- Добавлен log-slow-time как синоним для long-query-time.
Новые переменные сеанса
log_slow_verbosity
Вы можете установить уровень подробности записываемой в журнал медленных запросов информации, задав переменную log_slow_verbosity в сочетании следующих значений:
-
Query_plan- Для запросов SELECT, записывать информацию о плане запроса. Это включает "Полный_сканирование", "Полное_соединение", "Временная_таблица", "Временная_таблица_на_диске", "Filesort", "Filesort_на_диске" и количество "Проходов_слияния во время сортировки"
-
explain- Выход EXPLAIN записывается в журнал медленных запросов. Подробности см. в explain-in-the-slow-query-log.
-
Innodb(С MariaDB 10.6.15. До этого этот параметр ничего не делал)- Сохранено для совместимости. То же, что и
engine.
- Сохранено для совместимости. То же, что и
-
engine(С MariaDB 10.6.15)- Записывает статистику из движка хранения. Это включает:
| Параметр | Описание | Движок |
|---|---|---|
Pages_accessed |
Количество страниц, доступных из буфера страниц (innodb-buffer-pool / кэш ключей) | InnoDB |
Pages_updated |
Количество страниц, обновлённых в памяти | InnoDB |
Pages_read_time |
Миллисекунды, потраченные на чтение страниц со хранилища | InnoDB |
Old_rows_read |
Количество извлечения старых версий строк в движке (версионирование) | InnoDB |
Engine_time |
Миллисекунды, потраченные внутри вызовов движка (read_row / read_next_row и т.д.) | Все |
-
full- Сокращение для включения всех вариантов подробности
Значение по умолчанию для log_slow_verbosity равно ' ', для совместимости с MySQL 5.1.
Несколько вариантов разделены запятыми.
log_slow_verbosity не поддерживается, когда log_output='TABLE'.
В будущем мы добавим больше engine статистики и поддержку других движков.
log_slow_filter
Вы можете определить, какие запросы записывать в журнал медленных запросов, задав переменную log_slow_filter в сочетании следующих значений:
-
admin- Записывать управляющие операторы (create, optimize, drop и т.д.)
-
filesort- Записывать операторы, использующие filesort
-
filesort_on_disk- Записывать операторы, использующие filesort, требующие временных таблиц на диске
-
full_join- Записывать операторы, не использующие индексы для объединения таблиц
-
full_scan- Записывать операторы, использующие полное сканирование таблиц
-
query_cache- Записывать операторы, обрабатываемые кэшем запросов
-
query_cache_miss- Записывать операторы, не обрабатываемые кэшем запросов
-
tmp_table- Записывать операторы, использующие временные таблицы в памяти
-
tmp_table_on_disk- Записывать операторы, использующие временные таблицы на диске
Несколько вариантов разделены запятыми. Если вы не укажете никаких вариантов, всё будет записано.
log_slow_rate_limit
Переменная log_slow_rate_limit ограничивает запись в журнал медленных запросов, не записывая каждый запрос (только один запрос / log_slow_rate_limit записывается). Это полезно в основном при отладке, когда в журнал медленных запросов поступает слишком много информации.
Обратите внимание, что в любом случае записываются только запросы, которые занимают более log_slow_time или long_query_time (как и раньше).
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/slow-query-log-extended-statistics/