Spec-Zone.ru › MySQL 5.7

25.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 представляют собой коллекции завершенных событий последних транзакций, до максимального количества строк на поток и по всем потокам в целом, соответственно.

Для получения дополнительной информации об отношениях между тремя таблицами событий транзакций см. Раздел 25.9, «Таблицы Performance Schema для текущих и исторических событий».

Для получения информации о настройке сбора событий транзакций см. Раздел 25.12.7, «Таблицы Performance Schema для транзакций».

В таблице events_transactions_current есть следующие столбцы:

  • THREAD_ID, EVENT_ID

    Поток, связанный с событием, и номер текущего события потока, когда событие начинается. Значения THREAD_ID и EVENT_ID вместе однозначно идентифицируют строку. Две строки не имеют одинаковых пар значений.

  • END_EVENT_ID

    Этот столбец устанавливается в значение NULL при начале события и обновляется до номера текущего события потока при окончании события.

  • EVENT_NAME

    Имя инструмента, из которого было собрано событие. Это значение NAME из таблицы setup_instruments. Имена инструментов могут иметь несколько частей и формировать иерархию, как описано в Разделе 25.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 транзакции. Они имеют формат, описанный в Разделе 13.3.7.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.

    Для обсуждения пикосекунд как единицы измерения времени событий и факторов, влияющих на значения времени, см. Раздел 25.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 не отображается, потому что транзакции не могут быть вложены.)

TRUNCATE TABLE разрешен для таблицы events_transactions_current. Он удаляет строки.

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

Spec-Zone.ru

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