Это приключалось с каждым из нас при разработке веб-сайтов или приложений, использующих MySQL в качестве базы данных. Продуктивность внезапно сильно падала, и вы не имели понятия, почему это случилось. Этому могут быть первопричиной многие факторы (сильная загрузка CPU, нехватка дискового пространства, или слабая пропускная дееспособность канала), но также это может быть и неоптимизированный запрос, выполняемый намного дольше, чем обязан. Как узнать, какие из запросов выполняются дольше всего? В MySQL есть встроенный перечень возможностей для ведения логов медленных запросов.
Для включения этого функционала необходимо изготовить одно из действий:
добавить следующие строки в /etc/my.cnf:
log-slow-queries=/tmp/slow_queries.log
long_query_time=10
потребовать mysqld со следующими параметрами:
–log-slow-queries[=/tmp/slow_queries.log]
long_query_time — это наибольшее количество секунд, которое может выполняться запрос, прежде чем он будет записан в лог тихих запросов.

