25.12.14 Таблицы переменных состояния Performance Schema
Значение системной переменной show_compatibility_56 влияет на информацию, доступную из таблиц, описанных здесь. Подробности см. в описании этой переменной в разделе 5.1.7, «Системные переменные сервера».
Сервер MySQL поддерживает множество переменных состояния, предоставляющих информацию о его работе (см. раздел 5.1.9, «Переменные состояния сервера»). Информация о переменных состояния доступна в этих таблицах Performance Schema:
global_status: Глобальные переменные состояния. Приложение, которое хочет только глобальные значения, должно использовать эту таблицу.session_status: Переменные состояния для текущей сессии. Приложение, которое хочет все значения переменных состояния для своей сессии, должно использовать эту таблицу. Она включает переменные сессии для данной сессии, а также значения глобальных переменных, у которых нет аналогов в сессии.status_by_thread: Переменные состояния сессии для каждой активной сессии. Приложение, которое хочет узнать значения переменных сессии для определенных сессий, должно использовать эту таблицу. Она содержит только переменные сессии, идентифицированные по идентификатору потока.
Также есть сводные таблицы, предоставляющие информацию о переменных состояния, агрегированную по учетной записи, имени хоста и имени пользователя. См. раздел 25.12.15.10, «Сводные таблицы переменных состояния».
Таблицы переменных сессии (session_status, status_by_thread) содержат информацию только для активных сессий, а не завершенных.
Performance Schema собирает статистику для глобальных переменных состояния только для потоков, для которых значение INSTRUMENTED равно YES в таблице threads. Статистика для переменных состояния сессии всегда собирается, независимо от значения INSTRUMENTED.
Performance Schema не собирает статистику для Com_ переменных состояния в таблицах переменных состояния. Для получения глобального и по-сессии подсчета выполнения операторов используйте таблицы xxxevents_statements_summary_global_by_event_name и events_statements_summary_by_thread_by_event_name соответственно. Например:
SELECT EVENT_NAME, COUNT_STAR
FROM performance_schema.events_statements_summary_global_by_event_name
WHERE EVENT_NAME LIKE 'statement/sql/%';
Таблицы global_status и session_status имеют следующие столбцы:
-
VARIABLE_NAMEИмя переменной состояния.
-
VARIABLE_VALUEЗначение переменной состояния. Для
global_statusэтот столбец содержит глобальное значение. Дляsession_statusэтот столбец содержит значение переменной для текущей сессии.
Таблица status_by_thread содержит состояние каждого активного потока. Она имеет следующие столбцы:
-
THREAD_IDИдентификатор потока сессии, в которой определена переменная состояния.
-
VARIABLE_NAMEИмя переменной состояния.
-
VARIABLE_VALUEЗначение переменной сессии для сессии, указанной в столбце
THREAD_ID.
Таблица status_by_thread содержит информацию о переменных состояния только о фоновых потоках. Если системная переменная performance_schema_max_thread_instances не масштабируется автоматически (указано значением −1) и максимальное разрешенное количество объектов потоков, которые прослеживаются, не больше количества фоновых потоков, то таблица пуста.
Performance Schema поддерживает TRUNCATE
TABLE для таблиц переменных состояния следующим образом:
global_status: Сбрасывает статус потока, учетной записи, хоста и пользователя. Сбрасывает глобальные переменные состояния, за исключением тех, которые сервер никогда не сбрасывает.session_status: Не поддерживается.-
status_by_thread: Агрегирует состояние всех потоков в глобальное состояние и состояние учетной записи, затем сбрасывает состояние потока. Если статистика по учетной записи не собирается, состояние сессии добавляется к состоянию хоста и пользователя, если хост и пользовательские состояния собираются.Статистика по учетной записи, хосту и пользователю не собирается, если системные переменные
performance_schema_accounts_size,performance_schema_hosts_sizeиperformance_schema_users_sizeсоответственно установлены в 0.
FLUSH STATUS добавляет состояние сессии из всех активных сессий в глобальные переменные состояния, сбрасывает состояние всех активных сессий и сбрасывает значения состояния учетной записи, хоста и пользователя, агрегированные из отключенных сессий.
© 2025 Oracle
Licensed under the GPLv2 License.