语句直方图摘要表
性能架构维护语句事件摘要表,该表包含有关最小,最大和平均语句延迟的信息(请参见“语句摘要表”)。这些表允许对系统性能进行高级评估。为了允许在更细粒度的级别进行评估,性能模式还收集直方图数据以获取语句等待时间。这些直方图提供了有关延迟分布的更多信息。
“性能架构语句事件表”描述了语句摘要所基于的事件。请参阅该讨论,以获取有关语句事件的内容,当前和历史语句事件表以及如何控制语句事件收集(默认情况下已部分禁用)的信息。
语句直方图信息示例:
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。
