Spec-Zone.ru › MySQL 8.4

29.12.20.5 Таблицы сводных данных транзакций

Схема производительности поддерживает таблицы для сбора текущих и недавних событий транзакций и агрегирует эту информацию в сводных таблицах. Раздел 29.12.7, «Таблицы транзакций схемы производительности» описывает события, на основе которых формируются сводные данные транзакций. См. это обсуждение для получения информации о содержании событий транзакций, текущих и исторических таблицах событий транзакций, и о том, как управлять сбором событий транзакций, который по умолчанию отключён.

Пример сводной информации о событиях транзакций:

mysql> SELECT *
       FROM performance_schema.events_transactions_summary_global_by_event_name
       LIMIT 1\G
*************************** 1. row ***************************
          EVENT_NAME: transaction
          COUNT_STAR: 5
      SUM_TIMER_WAIT: 19550092000
      MIN_TIMER_WAIT: 2954148000
      AVG_TIMER_WAIT: 3910018000
      MAX_TIMER_WAIT: 5486275000
    COUNT_READ_WRITE: 5
SUM_TIMER_READ_WRITE: 19550092000
MIN_TIMER_READ_WRITE: 2954148000
AVG_TIMER_READ_WRITE: 3910018000
MAX_TIMER_READ_WRITE: 5486275000
     COUNT_READ_ONLY: 0
 SUM_TIMER_READ_ONLY: 0
 MIN_TIMER_READ_ONLY: 0
 AVG_TIMER_READ_ONLY: 0
 MAX_TIMER_READ_ONLY: 0

Каждая таблица сводных данных транзакций имеет один или несколько столбцов группировки, чтобы указать, как таблица агрегирует события. Имена событий ссылаются на имена инструментов событий в таблице setup_instruments:

  • events_transactions_summary_by_account_by_event_name имеет столбцы USER, HOST и EVENT_NAME. Каждая строка обобщает события для заданного учётной записи (сочетание пользователя и хоста) и имени события.

  • events_transactions_summary_by_host_by_event_name имеет столбцы HOST и EVENT_NAME. Каждая строка обобщает события для заданного хоста и имени события.

  • events_transactions_summary_by_thread_by_event_name имеет столбцы THREAD_ID и EVENT_NAME. Каждая строка обобщает события для заданного потока и имени события.

  • events_transactions_summary_by_user_by_event_name имеет столбцы USER и EVENT_NAME. Каждая строка обобщает события для заданного пользователя и имени события.

  • events_transactions_summary_global_by_event_name имеет столбец EVENT_NAME. Каждая строка обобщает события для заданного имени события.

Каждая таблица сводных данных транзакций имеет эти столбцы сводных данных, содержащие агрегированные значения:

  • COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT

    Эти столбцы аналогичны столбцам с такими же именами в таблицах сводных данных событий ожидания (см. Раздел 29.12.20.1, «Таблицы сводных данных событий ожидания»), за исключением того, что таблицы сводных данных транзакций агрегируют события из events_transactions_current, а не из events_waits_current. Эти столбцы обобщают транзакции чтения/записи и транзакции только для чтения.

  • COUNT_READ_WRITE, SUM_TIMER_READ_WRITE, MIN_TIMER_READ_WRITE, AVG_TIMER_READ_WRITE, MAX_TIMER_READ_WRITE

    Эти столбцы аналогичны столбцам COUNT_STAR и xxx_TIMER_WAIT, но обобщают только транзакции чтения/записи. Режим доступа к транзакции указывает, работают ли транзакции в режиме чтения/записи или только чтения.

  • COUNT_READ_ONLY, SUM_TIMER_READ_ONLY, MIN_TIMER_READ_ONLY, AVG_TIMER_READ_ONLY, MAX_TIMER_READ_ONLY

    Эти столбцы аналогичны столбцам COUNT_STAR и xxx_TIMER_WAIT, но обобщают только транзакции только для чтения. Режим доступа к транзакции указывает, работают ли транзакции в режиме чтения/записи или только чтения.

Таблицы сводных данных транзакций имеют эти индексы:

  • events_transactions_summary_by_account_by_event_name:

    • Первичный ключ по (USER, HOST, EVENT_NAME)

  • events_transactions_summary_by_host_by_event_name:

    • Первичный ключ по (HOST, EVENT_NAME)

  • events_transactions_summary_by_thread_by_event_name:

    • Первичный ключ по (THREAD_ID, EVENT_NAME)

  • events_transactions_summary_by_user_by_event_name:

    • Первичный ключ по (USER, EVENT_NAME)

  • events_transactions_summary_global_by_event_name:

    • Первичный ключ по (EVENT_NAME)

TRUNCATE TABLE разрешён для таблиц сводных данных транзакций. Он имеет такие последствия:

  • Для сводных таблиц, не агрегированных по учётной записи, хосту или пользователю, усечение устанавливает значения столбцов сводных данных в ноль, а не удаляет строки.

  • Для сводных таблиц, агрегированных по учётной записи, хосту или пользователю, усечение удаляет строки для учётных записей, хостов или пользователей без подключений и устанавливает значения столбцов сводных данных в ноль для оставшихся строк.

Кроме того, каждая таблица сводных данных транзакций, агрегированная по учётной записи, хосту, пользователю или потоку, неявно усекается усечением таблицы подключений, от которой она зависит, или усечением events_transactions_summary_global_by_event_name. Подробнее см. Раздел 29.12.8, «Таблицы подключений схемы производительности».

Правила агрегации транзакций

Сбор событий транзакций происходит независимо от уровня изоляции, режима доступа или режима автосброса.

Сбор событий транзакций происходит для всех не прерванных транзакций, инициированных сервером, включая пустые транзакции.

Транзакции чтения/записи обычно более ресурсоёмкие, чем транзакции только для чтения, поэтому таблицы сводных данных транзакций содержат отдельные столбцы агрегирования для транзакций чтения/записи и транзакций только для чтения.

Требования к ресурсам также могут различаться в зависимости от уровня изоляции транзакций. Однако, предполагая, что на сервере будет использоваться только один уровень изоляции, агрегация по уровню изоляции не предоставляется.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/performance-schema-transaction-summary-tables.html

Spec-Zone.ru

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