ПРОФИЛЬ ПОКАЗАТЬ
Синтаксис
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 | +----------------------+----------+----------+------------+
© 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/