2010-10-26 4 views
2

Как я могу просмотреть mysql slow_query_log, чтобы узнать, какой запрос занимает слишком много времени?MYSQL Slow Query

ответ

0

Проверьте местонахождение этого журнала в файле my.ini и откройте его в любом текстовом редакторе.

0

Если вы запрашиваете у Google «slow_query_log», this - это первый хит, объясняющий все, что вам нужно знать. вам нужно включить его, установить нужное имя файла (если оно уже установлено, вы можете найти конфигурацию в себе my.ini), начните свои запросы и посмотрите, что этот файл ...

4

Сначала вам нужно check if it's enabled в вашем конфигурации MySQL (mysql.ini или mysql.cnf, в зависимости от вашей системы):

# enable slow log: 
slow_query_log = 1 
# log queries longer than n seconds: 
long_query_time = 5 
# where to log: 
slow_query_log_file = /path/to/your/logs/mysql-slow.log 

Перезапустите сервер MySQL, а затем посмотреть логи, используя любую программу вы хотите - tail является самым простым:

tail -f /path/to/your/logs/mysql-slow.log 

Возможно, вам потребуется y бит с настройкой long_query_time, чтобы найти предел, где объем регистрации не слишком низок или слишком высок, но только справа.

+0

my slow_query_log_file - это «/ var/log/mysql-slow-log». – BhatiaVJ

+0

@BhatiaVJ: Это возможно, да - поэтому я добавил инструкции, чтобы получить его местоположение из конфигурации, так как каждый дистрибутив по умолчанию может иметь файл в несколько другом месте, плюс путь, очевидно, настраивается. – Piskvor

0

Если вы работаете туздЫ < 5.2, ваш my.cnf может выглядеть

лог-медленных-запросов =/вар/Журнал/MySQL/MySQL-slow.log // где хранить журнал

long_query_time = 3 // быстрый запрос к журналу