Spec-Zone.ru › MySQL 9.2

25.6.17.54 Таблица ndbinfo server_locks

Таблица server_locks имеет структуру, аналогичную таблице cluster_locks, и предоставляет подмножество информации, содержащейся в последней таблице, но которая специфична для узла SQL (сервера MySQL), где она расположена. (Таблица cluster_locks предоставляет информацию обо всех блокировках в кластере.) Более точно, server_locks содержит информацию о запросах блокировок, выполненных потоками, принадлежащими текущему экземпляру mysqld, и служит таблицей-компаньоном к server_operations. Это может быть полезно для сопоставления шаблонов блокировок с конкретными сессиями MySQL-пользователей, запросами или сценариями использования.

Таблица server_locks содержит следующие столбцы:

  • mysql_connection_id

    Идентификатор подключения MySQL

  • node_id

    Идентификатор узла, предоставляющего отчет

  • block_instance

    Идентификатор экземпляра LDM, предоставляющего отчет

  • tableid

    Идентификатор таблицы, содержащей эту строку

  • fragmentid

    Идентификатор фрагмента, содержащего заблокированную строку

  • rowid

    Идентификатор заблокированной строки

  • transid

    Идентификатор транзакции

  • mode

    Режим запроса блокировки

  • state

    Состояние блокировки

  • detail

    Является ли эта блокировка первой в очереди блокировок строки

  • op

    Тип операции

  • duration_millis

    Миллисекунды, затраченные на ожидание или удержание блокировки

  • lock_num

    Идентификатор объекта блокировки

  • waiting_for

    Ожидание блокировки с этим идентификатором

Примечания

Столбец mysql_connection_id отображает идентификатор подключения или потока MySQL, как показано в SHOW PROCESSLIST.

block_instance относится к экземпляру ядра блока. Вместе с именем блока этот номер может использоваться для поиска данного экземпляра в таблице threadblocks.

Идентификатор tableid назначается таблице NDB; тот же идентификатор используется для этой таблицы в других таблицах ndbinfo, а также в выводе команды ndb_show_tables.

Идентификатор транзакции, отображаемый в столбце transid, — это идентификатор, сгенерированный API NDB для транзакции, запрашивающей или удерживающей текущую блокировку.

Столбец mode отображает режим блокировки, который всегда является одним из S (совместная блокировка) или X (исключительная блокировка). Если транзакция имеет исключительную блокировку на данной строке, все остальные блокировки на этой строке имеют тот же идентификатор транзакции.

Столбец state отображает состояние блокировки. Его значение всегда равно одному из H (удержание) или W (ожидание). Запрос ожидания блокировки ждет блокировки, удерживаемой другой транзакцией.

Столбец detail указывает, является ли данная блокировка первой, удерживающей блокировку в очереди блокировок соответствующей строки, в этом случае он содержит * (звездочку); в противном случае этот столбец пуст. Эта информация может использоваться для определения уникальных записей в списке запросов блокировок.

Столбец op показывает тип операции, запрашивающей блокировку. Это всегда одно из значений READ, INSERT, UPDATE, DELETE, SCAN или REFRESH.

Столбец duration_millis отображает количество миллисекунд, в течение которых этот запрос блокировки ожидал или удерживал блокировку. Он сбрасывается до 0, когда запрос ожидания блокировки получает блокировку.

Идентификатор блокировки (столбец lockid) уникален для данного узла и экземпляра блока.

Если значение столбца lock_state равно W, эта блокировка ожидает предоставления, и столбец waiting_for отображает идентификатор объекта блокировки, которого ожидает этот запрос. В противном случае waiting_for пусто. waiting_for может ссылаться только на блокировки той же строки (как определено node_id, block_instance, tableid, fragmentid и rowid).

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/mysql-cluster-ndbinfo-server-locks.html

Spec-Zone.ru

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