语句直方图摘要表
性能架构维护语句事件摘要表,该表包含有关最小,最大和平均语句延迟的信息(请参见“语句摘要表”)。这些表允许对系统性能进行高级评估。为了允许在更细粒度的级别进行评估,性能模式还收集直方图数据以获取语句等待时间。这些直方图提供了有关延迟分布的更多信息。
“性能架构语句事件表”描述了语句摘要所基于的事件。请参阅该讨论,以获取有关语句事件的内容,当前和历史语句事件表以及如何控制语句事件收集(默认情况下已部分禁用)的信息。
语句直方图信息示例:
mysql>SELECT *FROM performance_schema.events_statements_histogram_by_digestWHERE SCHEMA_NAME = 'mydb' AND DIGEST = 'bb3f69453119b2d7b3ae40673a9d4c7c' AND COUNT_BUCKET > 0ORDER BY BUCKET_NUMBER\G *************************** 1. row*************************** SCHEMA_NAME: mydb DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c BUCKET_NUMBER: 42 BUCKET_TIMER_LOW: 66069344 BUCKET_TIMER_HIGH: 69183097 COUNT_BUCKET: 1 COUNT_BUCKET_AND_LOWER: 1 BUCKET_QUANTILE: 0.058824 *************************** 2. row*************************** SCHEMA_NAME: mydb DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c BUCKET_NUMBER: 43 BUCKET_TIMER_LOW: 69183097 BUCKET_TIMER_HIGH: 72443596 COUNT_BUCKET: 1 COUNT_BUCKET_AND_LOWER: 2 BUCKET_QUANTILE: 0.117647 *************************** 3. row*************************** SCHEMA_NAME: mydb DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c BUCKET_NUMBER: 44 BUCKET_TIMER_LOW: 72443596 BUCKET_TIMER_HIGH: 75857757 COUNT_BUCKET: 2 COUNT_BUCKET_AND_LOWER: 4 BUCKET_QUANTILE: 0.235294 *************************** 4. row*************************** SCHEMA_NAME: mydb DIGEST: bb3f69453119b2d7b3ae40673a9d4c7c BUCKET_NUMBER: 45 BUCKET_TIMER_LOW: 75857757 BUCKET_TIMER_HIGH: 79432823 COUNT_BUCKET: 6 COUNT_BUCKET_AND_LOWER: 10 BUCKET_QUANTILE: 0.625000 ...
例如,在第3行中,这些值表示23.52%的查询在75.86微秒内运行:
BUCKET_TIMER_HIGH: 75857757 BUCKET_QUANTILE: 0.235294
在第4行中,这些值表明62.50%的查询在79.44微秒内运行:
BUCKET_TIMER_HIGH: 79432823 BUCKET_QUANTILE: 0.625000
每个语句直方图摘要表都有一个或多个分组列,以指示该表如何聚合事件:
events_statements_histogram_by_digest
有SCHEMA_NAME
,DIGEST
和BUCKET_NUMBER
列:- 在
SCHEMA_NAME
与DIGEST
列标识声明消化行的events_statements_summary_by_digest
表。 events_statements_histogram_by_digest
具有相同SCHEMA_NAME
和DIGEST
值的行构成该架构/摘要组合的直方图。- 在给定的直方图中,该
BUCKET_NUMBER
列表示存储区编号。
- 在
events_statements_histogram_global
有BUCKET_NUMBER
专栏。下表使用单个直方图汇总了模式名称和摘要值之间的全局延迟。该BUCKET_NUMBER
列表示此全局直方图中的存储区编号。
直方图由N
存储桶组成,其中每一行代表一个存储桶,存储桶编号由BUCKET_NUMBER
列指示。值区编号以0开头。
每个语句直方图摘要表都有包含汇总值的以下摘要列:
BUCKET_TIMER_LOW
,BUCKET_TIMER_HIGH
值区会计算介于
BUCKET_TIMER_LOW
和之间的延迟(以皮秒为单位)的语句BUCKET_TIMER_HIGH
:- 第
BUCKET_TIMER_LOW
一个存储桶(BUCKET_NUMBER
= 0)的值为0。 - 值区
BUCKET_TIMER_LOW
(BUCKET_NUMBER
=k
)的值与上一个值区BUCKET_TIMER_HIGH
(BUCKET_NUMBER
=k
-1)相同 - 最后一个存储桶是延迟超过直方图中先前存储桶的语句的统称。
- 第
COUNT_BUCKET
延迟范围从
BUCKET_TIMER_LOW
到,但不包括的度量的语句数BUCKET_TIMER_HIGH
。COUNT_BUCKET_AND_LOWER
以0到(但不包括)之间的延迟测量的语句数
BUCKET_TIMER_HIGH
。BUCKET_QUANTILE
属于此级别或更低级别的语句的比例。根据定义,该比例对应于
COUNT_BUCKET_AND_LOWER / SUM(COUNT_BUCKET)
方便栏,并显示为该栏。
语句直方图摘要表具有以下索引:
events_statements_histogram_by_digest
:- 对唯一索引(
SCHEMA_NAME
,DIGEST
,BUCKET_NUMBER
)
- 对唯一索引(
events_statements_histogram_global
:- (
BUCKET_NUMBER
)上的主键
- (
TRUNCATE TABLE
允许用于语句直方图摘要表。截断会将COUNT_BUCKET
和COUNT_BUCKET_AND_LOWER
列设置为0。
此外,截断会events_statements_summary_by_digest
隐式截断events_statements_histogram_by_digest
,截断会events_statements_summary_global_by_event_name
隐式截断events_statements_histogram_global
。