Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

29.12.13.4 表_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)

TRUNCATE TABLE 不允许用于 table_handles 表。