29.12.2.5 设置线程表
设置线程表列出了被监控的线程类别。它暴露了线程类别名称和属性:
mysql> SELECT * FROM performance_schema.setup_threads\G
*************************** 1. row ***************************
NAME: thread/performance_schema/setup
ENABLED: YES
HISTORY: YES
PROPERTIES: singleton
VOLATILITY: 0
DOCUMENTATION: NULL
...
*************************** 4. row ***************************
NAME: thread/sql/main
ENABLED: YES
HISTORY: YES
PROPERTIES: singleton
VOLATILITY: 0
DOCUMENTATION: NULL
*************************** 5. row ***************************
NAME: thread/sql/one_connection
ENABLED: YES
HISTORY: YES
PROPERTIES: user
VOLATILITY: 0
DOCUMENTATION: NULL
...
*************************** 10. row ***************************
NAME: thread/sql/event_scheduler
ENABLED: YES
HISTORY: YES
PROPERTIES: singleton
VOLATILITY: 0
DOCUMENTATION: NULL
设置线程表有这些列:
-
NAME
仪器名称。线程仪器以
thread
开头(例如,thread/sql/parser_service
或thread/performance_schema/setup
)。 -
ENABLED
是否启用了仪器。值为
YES
或NO
。这列可以被修改,但是设置ENABLED
对已经运行的线程没有效果。对于后台线程,设置
ENABLED
值控制了是否将INSTRUMENTED
设置为YES
或NO
对于随后为此仪器创建的线程并在threads
表中列出的线程。对于前台线程,这一列没有效果;setup_actors
表优先级更高。 -
HISTORY
是否记录仪器的历史事件。值为
YES
或NO
。这列可以被修改,但是设置HISTORY
对已经运行的线程没有效果。对于后台线程,设置
HISTORY
值控制了是否将HISTORY
设置为YES
或NO
对于随后为此仪器创建的线程并在threads
表中列出的线程。对于前台线程,这一列没有效果;setup_actors
表优先级更高。 -
PROPERTIES
仪器属性。这列使用
SET
数据类型,因此可以为每个仪器设置多个标志,从以下列表中选择:-
singleton
: 该仪器有一个单一实例。例如,thread/sql/main
仪器只有一个线程。 -
user
: 该仪器直接与用户工作负载相关(而不是系统工作负载)。例如,执行用户会话的线程,如thread/sql/one_connection
,具有user
属性,以区分它们与系统线程。
-
-
VOLATILITY
仪器的稳定性。这列的含义与
setup_instruments
表相同。请参阅第 29.12.2.3 节,“设置仪器表”。 -
DOCUMENTATION
描述仪器目的的字符串。值为
NULL
如果没有可用描述。
设置线程表有这些索引:
-
主键在 (
NAME
) 上
TRUNCATE TABLE
对 setup_threads
表是不允许的。