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.