Spec-Zone.ru › MySQL 9.2

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_xxx переменных состояния в таблицах переменных состояния. Чтобы получить количество глобальных и сессионных выполнений инструкций, используйте таблицы events_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.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/performance-schema-status-variable-tables.html

Spec-Zone.ru

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