Назад | Перейти на главную страницу

Сервер MySQL: наиболее частые запросы

Я хотел бы знать, есть ли способ отобразить наиболее частый SQL-запрос на сервере MySQL, чтобы сохранить его в памяти.

чек mysql sla - он может принимать ваш журнал запросов, параметризованные запросы и предоставлять вам отчет с типами запросов, которые появляются наиболее часто.

Вы должны включить ведение журнала запросов или отслеживать его через show processlist; См. Документацию:

http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html

Если вы правильно подберете параметры, вы увидите запросы в журнале медленных запросов:

http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

Я бы посоветовал вам установить очень маленькое время медленного запроса, а затем запустить maatkit's мк-запрос-дайджест для профилирования всех зарегистрированных запросов. Вы также можете запустить его в обычном файле журнала.

Есть и другие утилиты maatkit, которые тоже могут помочь.

Innotop - это хороший способ наблюдать за тем, что делает ваш сервер - обычно легче следить, чем показывать список процессов.

Я работаю с коммерческим программным пакетом Jet Profiler для MySQL. http://www.jetprofiler.com/ и нравится. Стоит около 400 долларов, правда есть пробный период.

В противном случае я регистрирую запросы SQL в своем приложении. С помощью Java (мой язык по выбору) вы можете настроить драйвер JDBC Connector / J для регистрации всех запросов sql. Затем я совмещаю регулярное выражение и ручное редактирование, чтобы сделать его читабельным, и анализирую результаты.