Spec-Zone.ru › MySQL 8.4

29.12.13.4 Таблица table_handles

Модуль Performance Schema предоставляет информацию о блокировках таблиц через таблицу table_handles, чтобы показать блокировки таблиц, действующие в данный момент для каждого открытого дескриптора таблицы. table_handles отчитывается о том, что записывается механизмом мониторинга блокировок таблиц. Эта информация показывает, какие дескрипторы таблиц открыты на сервере, как они заблокированы и какими сессиями.

Таблица table_handles только для чтения и не может быть обновлена. Она автоматически масштабируется по умолчанию; для настройки размера таблицы установите системную переменную performance_schema_max_table_handles при запуске сервера.

Мониторинг блокировок таблиц использует инструмент wait/lock/table/sql/handler, который включён по умолчанию.

Для управления состоянием мониторинга блокировок таблиц при запуске сервера используйте строки подобного вида в файле my.cnf:

  • Включить:

    [mysqld]
    performance-schema-instrument='wait/lock/table/sql/handler=ON'
    
  • Отключить:

    [mysqld]
    performance-schema-instrument='wait/lock/table/sql/handler=OFF'
    

Для управления состоянием мониторинга блокировок таблиц во время работы обновите таблицу setup_instruments:

  • Включить:

    UPDATE performance_schema.setup_instruments
    SET ENABLED = 'YES', TIMED = 'YES'
    WHERE NAME = 'wait/lock/table/sql/handler';
    
  • Отключить:

    UPDATE performance_schema.setup_instruments
    SET ENABLED = 'NO', TIMED = 'NO'
    WHERE NAME = 'wait/lock/table/sql/handler';
    

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

  • OBJECT_TYPE

    Таблица, открытая с помощью дескриптора таблицы.

  • OBJECT_SCHEMA

    Схема, содержащая объект.

  • OBJECT_NAME

    Имя отслеживаемого объекта.

  • OBJECT_INSTANCE_BEGIN

    Адрес дескриптора таблицы в памяти.

  • OWNER_THREAD_ID

    Поток, владеющий дескриптором таблицы.

  • OWNER_EVENT_ID

    Событие, которое вызвало открытие дескриптора таблицы.

  • INTERNAL_LOCK

    Блокировка таблицы, используемая на уровне SQL. Значение — одно из READ, READ WITH SHARED LOCKS, READ HIGH PRIORITY, READ NO INSERT, WRITE ALLOW WRITE, WRITE CONCURRENT INSERT, WRITE LOW PRIORITY или WRITE. Для получения информации об этих типах блокировок см. файл include/thr_lock.h.

  • EXTERNAL_LOCK

    Блокировка таблицы, используемая на уровне движка хранения. Значение — одно из READ EXTERNAL или WRITE EXTERNAL.

Таблица table_handles имеет следующие индексы:

  • Первичный ключ по (OBJECT_INSTANCE_BEGIN)

  • Индекс по (OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME)

  • Индекс по (OWNER_THREAD_ID, OWNER_EVENT_ID)

TRUNCATE TABLE не разрешено для таблицы table_handles.

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

Spec-Zone.ru

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