Медленные SQL запросы

Это приключалось с каждым из нас при разработке веб-сайтов или приложений, использующих 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 — это наибольшее количество секунд, которое может выполняться запрос, прежде чем он будет записан в лог тихих запросов.

Читайте также:  Что делать, если окно настройки не открывается в Ред ОС