При запуске с параметром --log-slow-queries[=file_name]
mysqld
создает
файл журнала, в котором сохраняются данные обо всех командах SQL, на
выполнение которых ушло больше времени, чем указано в значении параметра
long_query_time
. Время, уходящее на первоначальную блокировку таблиц, не
включается во время исполнения запроса.
Занесение данных в журнал происходит сразу по завершении исполнения запроса и снятия блокировок. Таким образом, порядок расположения записей может отличаться от порядка выполнения запросов.
Если имя файла не задано, по умолчанию ему дается имя хоста с окончанием
-slow.log
. Если файлу присвоено имя, не содержащее пути доступа к нему,
этот файл сохраняется в каталоге с данными.
Этот журнал позволяет определить запросы, на выполнение которых ушло
слишком много времени, а, значит, и обнаружить основных кандидатов на
оптимизацию. Конечно, при достижении журналом значительного объема эта
задача усложняется. В таком случае журнал можно пропустить через команду
mysqldumpslow
и получить краткий отчет о запросах, попавших в список.
При использовании ключа --log-long-format
на экран выводятся и запросы, не
работающие с индексами (see Раздел 4.1.1, «Параметры командной строки mysqld
»).