性能模式维护语句事件汇总表,其中包含有关最小、最大和平均语句延迟的信息(请参阅 第 27.12.20.3 节,“语句汇总表”)。这些表允许对系统性能进行高级评估。为了允许在更细粒度的级别进行评估,性能模式还收集语句延迟的直方图数据。这些直方图提供了对延迟分布的额外洞察。
第 27.12.6 节,“性能模式语句事件表” 描述了语句摘要所基于的事件。有关语句事件的内容、当前和历史语句事件表以及如何控制语句事件收集的信息,请参阅该讨论,默认情况下部分禁用。
示例语句直方图信息:
mysql> SELECT *
FROM performance_schema.events_statements_histogram_by_digest
WHERE SCHEMA_NAME = 'mydb' AND DIGEST = 'bb3f69453119b2d7b3ae40673a9d4c7c'
AND COUNT_BUCKET > 0 ORDER 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_LOWup 到但不包括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。