29.12.15 Таблицы переменных состояния Performance Schema
Сервер MySQL поддерживает множество переменных состояния, предоставляющих информацию об его работе (см. Раздел 7.1.10, «Переменные состояния сервера»). Информация о переменных состояния доступна в этих таблицах Performance Schema:
global_status: Глобальные переменные состояния. Приложение, которое хочет только глобальные значения, должно использовать эту таблицу.session_status: Переменные состояния для текущей сессии. Приложение, которое хочет все значения переменных состояния для своей собственной сессии, должно использовать эту таблицу. Она включает переменные сессии для данной сессии, а также значения глобальных переменных, у которых нет аналогов в сессии.status_by_thread: Переменные состояния сессии для каждой активной сессии. Приложение, которое хочет узнать значения переменных сессии для определенных сессий, должно использовать эту таблицу. Она содержит только переменные сессии, идентифицированные по идентификатору потока.
Также существуют сводные таблицы, которые предоставляют информацию о переменных состояния, агрегированную по учетной записи, имени хоста и имени пользователя. См. Раздел 29.12.20.12, «Сводные таблицы переменных состояния».
Таблицы переменных состояния сессии (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в этом столбце содержится значение переменной для текущей сессии.
Таблицы global_status и session_status имеют следующие индексы:
Первичный ключ по (
VARIABLE_NAME)
Таблица status_by_thread содержит состояние каждого активного потока. Она имеет следующие столбцы:
-
THREAD_IDИдентификатор потока сессии, в которой определена переменная состояния.
-
VARIABLE_NAMEНазвание переменной состояния.
-
VARIABLE_VALUEЗначение переменной сессии для сессии, обозначенной столбцом
THREAD_ID.
Таблица status_by_thread имеет следующие индексы:
Первичный ключ по (
THREAD_ID,VARIABLE_NAME)
Таблица 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.