28.3.24 INFORMATION_SCHEMA PROFILING 表
PROFILING 表提供语句 profiling 信息。其内容对应于由 SHOW PROFILE 和 SHOW PROFILES 语句生产的信息(见第15.7.7.31节,“SHOW PROFILE 语句”)。该表除非设置了 profiling 会话变量为1,否则为空。
该表已弃用;在未来的 MySQL 发布中将被删除。请使用 Performance Schema alternatively(见第29章,“MySQL性能_schema”);详细信息见第29.19.1节,“使用性能_schema进行查询 profiling”。
PROFILING 表具有以下列:
-
QUERY_ID
一个数字语句标识符。
-
SEQ
一个序列号,用于在具有相同
QUERY_ID
值的行中确定显示顺序。 -
STATE
对应的性能分析状态。
-
DURATION
语句执行在给定状态下的持续时间,单位为秒。
-
CPU_USER
,CPU_SYSTEM
用户和系统 CPU 使用时间,单位为秒。
-
CONTEXT_VOLUNTARY
,CONTEXT_INVOLUNTARY
自愿和非自愿上下文切换的次数。
-
BLOCK_OPS_IN
,BLOCK_OPS_OUT
块输入和输出操作的数量。
-
MESSAGES_SENT
,MESSAGES_RECEIVED
发送和接收的通信消息数量。
-
PAGE_FAULTS_MAJOR
,PAGE_FAULTS_MINOR
主要和次要页面错误的数量。
-
SWAPS
swap 的次数。
-
SOURCE_FUNCTION
,SOURCE_FILE
, 和SOURCE_LINE
表示在源代码中 profiled 状态执行的位置信息。
-
PROFILING
是一个非标准的INFORMATION_SCHEMA
表。
profiling信息也可以从SHOW PROFILE
和SHOW PROFILES
语句中获取。请参阅第15.7.7.31节,“SHOW PROFILE 语句”。例如,以下查询是等效的:
SHOW PROFILE FOR QUERY 2;
SELECT STATE, FORMAT(DURATION, 6) AS DURATION
FROM INFORMATION_SCHEMA.PROFILING
WHERE QUERY_ID = 2 ORDER BY SEQ;