このページは機械翻訳したものです。
パフォーマンススキーマは、ステートメントの最小待機時間、最大待機時間、および平均待機時間に関する情報を含むステートメントイベントのサマリーテーブルを保守します (セクション27.12.18.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
各ステートメントヒストグラムサマリーテーブルには、テーブルがイベントを集計する方法を示す 1 つ以上のグループ化カラムがあります:
-
events_statements_histogram_by_digestには、SCHEMA_NAME、DIGESTおよびBUCKET_NUMBERカラムがあります:SCHEMA_NAMEおよびDIGESTカラムは、events_statements_summary_by_digestテーブルのステートメントダイジェスト行を識別します。SCHEMA_NAMEとDIGESTの値が同じevents_statements_histogram_by_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_NUMBER= 0) のBUCKET_TIMER_LOWの値は 0 です。バケット (
BUCKET_NUMBER=k) のBUCKET_TIMER_LOWの値は、前のバケット (BUCKET_NUMBER=k-1) のBUCKET_TIMER_HIGHと同じです最後のバケットは、ヒストグラム内の前のバケットを超えるレイテンシを持つステートメントのキャッチオールです。
-
COUNT_BUCKETBUCKET_TIMER_LOWからBUCKET_TIMER_HIGHまでの間隔の待機時間で測定されたが、BUCKET_TIMER_HIGHを含まないステートメントの数。 -
COUNT_BUCKET_AND_LOWER0 から
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 が暗黙的に切り捨てられます。