文档主页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


29.12.13.4 table_handles 表

性能模式通过 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 级别使用的表锁。值为 READREAD WITH SHARED LOCKSREAD HIGH PRIORITYREAD NO INSERTWRITE ALLOW WRITEWRITE CONCURRENT INSERTWRITE LOW PRIORITYWRITE 之一。有关这些锁类型的更多信息,请参见 include/thr_lock.h 源文件。

  • EXTERNAL_LOCK

    在存储引擎级别使用的表锁。值为 READ EXTERNALWRITE EXTERNAL 之一。

table_handles 表具有以下索引

  • 主键 (OBJECT_INSTANCE_BEGIN)

  • 索引 (OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME)

  • 索引 (OWNER_THREAD_ID, OWNER_EVENT_ID)

不允许对 table_handles 表执行 TRUNCATE TABLE