29.12.7.1 Таблица events_transactions_current
Таблица events_transactions_current содержит текущие события транзакций. Таблица хранит по одной строке на каждый поток, отображающую текущий статус последнего отслеживаемого события транзакции потока, поэтому для конфигурирования размера таблицы нет системной переменной. Например:
mysql> SELECT *
FROM performance_schema.events_transactions_current LIMIT 1\G
*************************** 1. row ***************************
THREAD_ID: 26
EVENT_ID: 7
END_EVENT_ID: NULL
EVENT_NAME: transaction
STATE: ACTIVE
TRX_ID: NULL
GTID: 3E11FA47-71CA-11E1-9E33-C80AA9429562:56
XID: NULL
XA_STATE: NULL
SOURCE: transaction.cc:150
TIMER_START: 420833537900000
TIMER_END: NULL
TIMER_WAIT: NULL
ACCESS_MODE: READ WRITE
ISOLATION_LEVEL: REPEATABLE READ
AUTOCOMMIT: NO
NUMBER_OF_SAVEPOINTS: 0
NUMBER_OF_ROLLBACK_TO_SAVEPOINT: 0
NUMBER_OF_RELEASE_SAVEPOINT: 0
OBJECT_INSTANCE_BEGIN: NULL
NESTING_EVENT_ID: 6
NESTING_EVENT_TYPE: STATEMENT
Из таблиц, содержащих строки с событиями транзакций, events_transactions_current является наиболее фундаментальной. Другие таблицы, содержащие строки с событиями транзакций, логически выведены из текущих событий. Например, таблицы events_transactions_history и events_transactions_history_long представляют собой коллекции завершённых событий последних транзакций, до максимального количества строк на поток и по всем потокам в целом, соответственно.
Более подробную информацию об отношениях между тремя таблицами событий транзакций см. в разделе 29.9, «Таблицы Performance Schema для текущих и исторических событий».
Информацию о конфигурировании сбора событий транзакций см. в разделе 29.12.7, «Таблицы Performance Schema для транзакций».
Таблица events_transactions_current имеет следующие столбцы:
-
THREAD_ID,EVENT_IDПоток, связанный с событием, и текущий номер события потока в момент начала события. Значения
THREAD_IDиEVENT_IDвместе уникально идентифицируют строку. Никакие две строки не имеют одинаковой пары значений. -
END_EVENT_IDЭтот столбец установлен на
NULLпри запуске события и обновляется до текущего номера события потока при завершении события. -
EVENT_NAMEНазвание инструмента, из которого было собрано событие. Это значение
NAMEиз таблицыsetup_instruments. Имена инструментов могут иметь несколько частей и образовывать иерархию, как описано в разделе 29.6, «Конвенции именования инструментов Performance Schema». -
STATEТекущее состояние транзакции. Значение равно
ACTIVE(послеSTART TRANSACTIONилиBEGIN),COMMITTED(послеCOMMIT), илиROLLED BACK(послеROLLBACK). -
TRX_IDНе используется.
-
GTIDСтолбец GTID содержит значение
gtid_next, которое может быть одним из значенийANONYMOUS,AUTOMATIC, или GTID с форматомUUID:NUMBER. Для транзакций, использующихgtid_next=AUTOMATIC, что относится ко всем обычным клиентским транзакциям, столбец GTID изменяется при фиксации транзакции и присвоении фактического GTID. Еслиgtid_modeравноONилиON_PERMISSIVE, столбец GTID изменяется на GTID транзакции. Еслиgtid_modeравноOFFилиOFF_PERMISSIVE, столбец GTID изменяется наANONYMOUS. -
XID_FORMAT_ID,XID_GTRID, иXID_BQUALЭлементы идентификатора XA транзакции. Они имеют формат, описанный в разделе 15.3.8.1, «Выражения XA транзакций SQL».
-
XA_STATEСостояние XA транзакции. Значение равно
ACTIVE(послеXA START),IDLE(послеXA END),PREPARED(послеXA PREPARE),ROLLED BACK(послеXA ROLLBACK), илиCOMMITTED(послеXA COMMIT).На реплике одна и та же XA транзакция может появляться в таблице
events_transactions_currentс различными состояниями в разных потоках. Это происходит потому, что сразу после подготовки XA транзакции она отделяется от потока-применителя реплики и может быть закреплена или отменена любым потоком на реплике. Таблицаevents_transactions_currentотображает текущее состояние последнего отслеживаемого события транзакции в потоке и не обновляет это состояние при простое потока. Таким образом, XA транзакция по-прежнему может отображаться в состоянииPREPAREDдля исходного потока-применителя после обработки другим потоком. Для позитивной идентификации XA транзакций, которые всё ещё находятся в состоянииPREPAREDи требуют восстановления, используйте операторXA RECOVER, а не таблицы транзакций Performance Schema. -
SOURCEИмя исходного файла с инструментированным кодом, который породил событие, и номер строки в файле, в котором происходит инструментирование. Это позволяет проверить исходный код, чтобы определить, какой именно код участвовал.
-
TIMER_START,TIMER_END,TIMER_WAITИнформация о времени события. Единица измерения этих значений — пикосекунды (триллионные доли секунды). Значения
TIMER_STARTиTIMER_ENDуказывают на момент начала и окончания отслеживания времени события.TIMER_WAIT— это время выполнения (продолжительность) события.Если событие не завершено,
TIMER_END— текущее значение таймера, аTIMER_WAIT— время, прошедшее до сих пор (TIMER_END−TIMER_START).Если событие сгенерировано инструментом с
TIMED = NO, информация о времени не собирается, и значенияTIMER_START,TIMER_ENDиTIMER_WAITравныNULL.Обсуждение пикосекунд как единицы измерения времени событий и факторов, влияющих на значения времени, см. в разделе 29.4.1, «Время событий Performance Schema».
-
ACCESS_MODEРежим доступа к транзакции. Значение равно
READ WRITEилиREAD ONLY. -
ISOLATION_LEVELУровень изоляции транзакции. Значение равно
REPEATABLE READ,READ COMMITTED,READ UNCOMMITTEDилиSERIALIZABLE. -
AUTOCOMMITБыла ли включена автоматическая фиксация при запуске транзакции.
-
NUMBER_OF_SAVEPOINTS,NUMBER_OF_ROLLBACK_TO_SAVEPOINT,NUMBER_OF_RELEASE_SAVEPOINTКоличество выражений
SAVEPOINT,ROLLBACK TO SAVEPOINTиRELEASE SAVEPOINT, выпущенных во время транзакции. -
OBJECT_INSTANCE_BEGINНе используется.
-
NESTING_EVENT_IDЗначение
EVENT_IDсобытия, внутри которого вложено это событие. -
NESTING_EVENT_TYPEТип вложенного события. Значение равно
TRANSACTION,STATEMENT,STAGEилиWAIT. (TRANSACTIONне отображается, потому что транзакции не могут быть вложенными).
Таблица events_transactions_current имеет следующие индексы:
Первичный ключ по (
THREAD_ID,EVENT_ID)
TRUNCATE TABLE разрешен для таблицы events_transactions_current. Он удаляет строки.
© 2025 Oracle
Licensed under the GPLv2 License.