MySQL 8.4 Reference Manual Including MySQL NDB Cluster 8.4
The Performance Schema exposes table lock information through
the table_handles
table to show
the table locks currently in effect for each opened table
handle. table_handles
reports
what is recorded by the table lock instrumentation. This
information shows which table handles the server has open, how
they are locked, and by which sessions.
The table_handles
table is read
only and cannot be updated. It is autosized by default; to
configure the table size, set the
performance_schema_max_table_handles
system variable at server startup.
Table lock instrumentation uses the
wait/lock/table/sql/handler
instrument,
which is enabled by default.
To control table lock instrumentation state at server startup,
use lines like these in your my.cnf
file:
Enable:
[mysqld] performance-schema-instrument='wait/lock/table/sql/handler=ON'
Disable:
[mysqld] performance-schema-instrument='wait/lock/table/sql/handler=OFF'
To control table lock instrumentation state at runtime, update
the setup_instruments
table:
Enable:
UPDATE performance_schema.setup_instruments SET ENABLED = 'YES', TIMED = 'YES' WHERE NAME = 'wait/lock/table/sql/handler';
Disable:
UPDATE performance_schema.setup_instruments SET ENABLED = 'NO', TIMED = 'NO' WHERE NAME = 'wait/lock/table/sql/handler';
The table_handles
table has these
columns:
OBJECT_TYPE
The table opened by a table handle.
OBJECT_SCHEMA
The schema that contains the object.
OBJECT_NAME
The name of the instrumented object.
OBJECT_INSTANCE_BEGIN
The table handle address in memory.
OWNER_THREAD_ID
The thread owning the table handle.
OWNER_EVENT_ID
The event which caused the table handle to be opened.
INTERNAL_LOCK
The table lock used at the SQL level. The value is one of
READ
, READ WITH SHARED
LOCKS
, READ HIGH PRIORITY
,
READ NO INSERT
, WRITE ALLOW
WRITE
, WRITE CONCURRENT
INSERT
, WRITE LOW PRIORITY
,
or WRITE
. For information about these
lock types, see the
include/thr_lock.h
source file.
EXTERNAL_LOCK
The table lock used at the storage engine level. The value
is one of READ EXTERNAL
or
WRITE EXTERNAL
.
The table_handles
table has these
indexes:
Primary key on (OBJECT_INSTANCE_BEGIN
)
Index on (OBJECT_TYPE
,
OBJECT_SCHEMA
,
OBJECT_NAME
)
Index on (OWNER_THREAD_ID
,
OWNER_EVENT_ID
)
TRUNCATE TABLE
is not permitted
for the table_handles
table.