Spec-Zone.ru › MySQL 9.2

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.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/performance-schema-events-transactions-current-table.html

Spec-Zone.ru

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