Измерить время исполнения запроса в MySQL с помощью PROFILES

Базы данных Измерить время исполнения запроса в MySQL с помощью PROFILES

Помечено: , ,

  • В этой теме 0 ответов, 1 участник, последнее обновление 1 год, 4 месяца назад сделано Васильев Владимир Сергеевич.
Просмотр 0 веток ответов
  • Автор
    Сообщения
    • #5416
      @admin
      StudLance.ru

      Еще раз вернемся к теме измерения скорости исполнения чего-либо. Ранее я уже рассказал о том, как измерить скорость исполнения участка кода на C/C++, а сейчас перейду немножко в другую степь, а именно к базам данных. Расскажу и покажу, как легко измерить время исполнения запроса к базе не выходя из консоли MySQL и не написав ни одной строчки кода.

      Такую чудесную возможность нам дает инструмент профилирования в MySQL. В этой заметке я не буду углубляться в тонкости его использования, просто пробегусь по верхам и покажу как вытащить основную информацию о запросах к базе данных.

      Включаем профилирование в MySQL

      Первым делом нужно включить инструмент профилирования. Все команды выполняются напрямую из консоли mysql, напомню, как в нее войти.

      mysql -u root -p

      После этого включаем профилирование.

      set profiling=1

      С текущего момента информация о запросах будет логироваться, давайте ее получим.

      Измерить время исполнения запроса

      Профилирование включено и собирает информацию, пришло время написать запрос, пусть он будет такой.

      select * from table1;

      Для того, чтобы посмотреть информацию по всем запросам, нужно прописать команду

      show profiles;

      И мы получим в ответ вот такую таблицу, в которой располагаются идентификатор нашего запроса, время его исполнения и сам запрос.

      show profiling

      Для того, чтобы посмотреть детальную информацию о конкретном запросе, можно вызвать ее по ID следующим образом

      show profile for query 1;

      Другая информация о запросах

      Кроме скорости исполнения запроса, можно вывести дополнительные сведения, например, размеры используемых свопов(swap). Добавляем нужный параметр в команду

      show profile swaps for query 1;

      В таблице с выводом появится дополнительный столбец.

      Доступные параметры:

      — ALL — все информация сразу
      — BLOCK IO — количество блочных I/O операций на запрос
      — CONTEXT SWITCHES — количество переключений контекстов
      — CPU — процессорное время
      — IPC — количество полученных и отправленных сообщений
      — PAGE FAULTS — количество page faults
      — SOURCE — имена функций исходного кода, которые были выполнены
      — SWAPS — размеры используемых свопов

      StudLance.ru

Просмотр 0 веток ответов
  • Для ответа в этой теме необходимо авторизоваться.
×