Spec-Zone.ru › MySQL 8.4

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, «SQL-запросы XA транзакций».

  • 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. Она удаляет строки.

END_OF_DOCUMENT_MARKER

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/performance-schema-events-transactions-current-table.html

Spec-Zone.ru

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