Spec-Zone.ru › MariaDB

ПРОФИЛЬ ПОКАЗАТЬ

Синтаксис

SHOW PROFILE [type [, type] ... ]
    [FOR QUERY n]
    [LIMIT row_count [OFFSET offset]]

type:
    ALL
  | BLOCK IO
  | CONTEXT SWITCHES
  | CPU
  | IPC
  | MEMORY
  | PAGE FAULTS
  | SOURCE
  | SWAPS

Описание

Команды SHOW PROFILE и SHOW PROFILES отображают информацию о профилировании, которая показывает использование ресурсов для команд, выполненных в течение текущего сеанса.

Профилирование управляется переменной сеанса profiling, которая имеет значение по умолчанию 0 (OFF). Профилирование включается, установив profiling в 1 или ON:

SET profiling = 1;

SHOW PROFILES отображает список последних команд, отправленных мастеру. Размер списка управляется переменной сеанса profiling_history_size, которая имеет значение по умолчанию 15. Максимальное значение равно 100. Установка значения в 0 фактически отключает профилирование.

Все команды профилируются, за исключением SHOW PROFILES и SHOW PROFILE, поэтому ни одна из этих команд не будет отображаться в списке профилирования. Некорректные команды также профилируются. Например, SHOW PROFILING — это некорректная команда, при попытке её выполнения возникает синтаксическая ошибка, но она появится в списке профилирования.

SHOW PROFILE отображает подробную информацию об одной команде. Без указания FOR QUERY n, вывод относится к последней выполненной команде. Если FOR QUERY n включено, SHOW PROFILE отображает информацию для команды n. Значения n соответствуют значениям Query_ID отображаемым SHOW PROFILES.

Оператор LIMIT row_count может быть использован для ограничения вывода до row_count строк. Если задан LIMIT, OFFSET offset может быть добавлен для начала вывода со смещения row_offset строк в полном наборе строк.

По умолчанию, SHOW PROFILE отображает столбцы Статус и Длительность. Значения Статуса подобны значениям состояния, отображаемым SHOW PROCESSLIST, хотя могут быть небольшие различия в интерпретации этих значений для некоторых статусов (см. http://dev.mysql.com/doc/refman/5.6/en/thread-information.html).

Дополнительные типы информации могут быть отображены с помощью необязательных значений типов:

  • ALL отображает всю информацию
  • BLOCK IO отображает количество операций ввода-вывода блоков
  • CONTEXT SWITCHES отображает количество добровольных и принудительных контекстных переключений
  • CPU отображает время использования ЦП пользователем и системой
  • IPC отображает количество отправленных и полученных сообщений
  • MEMORY в настоящее время не реализовано
  • PAGE FAULTS отображает количество основных и второстепенных ошибок страниц
  • SOURCE отображает имена функций из исходного кода, а также имя и номер строки файла, в котором находится функция
  • SWAPS отображает количество операций подмены страниц

Профилирование выполняется на уровне сеанса. По окончании сеанса информация о профилировании теряется.

information_schema.PROFILING table contains similar information.

Примеры

SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
|           0 |
+-------------+

SET profiling = 1;

USE test;

DROP TABLE IF EXISTS t1;

CREATE TABLE T1 (id INT);

SHOW PROFILES;
+----------+------------+--------------------------+
| Query_ID | Duration   | Query                    |
+----------+------------+--------------------------+
|        1 | 0.00009200 | SELECT DATABASE()        |
|        2 | 0.00023800 | show databases           |
|        3 | 0.00018900 | show tables              |
|        4 | 0.00014700 | DROP TABLE IF EXISTS t1  |
|        5 | 0.24476900 | CREATE TABLE T1 (id INT) |
+----------+------------+--------------------------+

SHOW PROFILE;
+----------------------+----------+
| Status               | Duration |
+----------------------+----------+
| starting             | 0.000042 |
| checking permissions | 0.000044 |
| creating table       | 0.244645 |
| After create         | 0.000013 |
| query end            | 0.000003 |
| freeing items        | 0.000016 |
| logging slow query   | 0.000003 |
| cleaning up          | 0.000003 |
+----------------------+----------+

SHOW PROFILE FOR QUERY 4;
+--------------------+----------+
| Status             | Duration |
+--------------------+----------+
| starting           | 0.000126 |
| query end          | 0.000004 |
| freeing items      | 0.000012 |
| logging slow query | 0.000003 |
| cleaning up        | 0.000002 |
+--------------------+----------+

SHOW PROFILE CPU FOR QUERY 5;
+----------------------+----------+----------+------------+
| Status               | Duration | CPU_user | CPU_system |
+----------------------+----------+----------+------------+
| starting             | 0.000042 | 0.000000 |   0.000000 |
| checking permissions | 0.000044 | 0.000000 |   0.000000 |
| creating table       | 0.244645 | 0.000000 |   0.000000 |
| After create         | 0.000013 | 0.000000 |   0.000000 |
| query end            | 0.000003 | 0.000000 |   0.000000 |
| freeing items        | 0.000016 | 0.000000 |   0.000000 |
| logging slow query   | 0.000003 | 0.000000 |   0.000000 |
| cleaning up          | 0.000003 | 0.000000 |   0.000000 |
+----------------------+----------+----------+------------+
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают взгляды MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/show-profile/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API