パフォーマンススキーマは、現在および最近のトランザクションイベントを収集するためのテーブルを保持し、その情報をサマリーテーブルに集約します。セクション27.12.7「パフォーマンススキーマのトランザクションテーブル」 では、トランザクションサマリーの基になるイベントが記述されます。 トランザクションイベントの内容、現在および過去のトランザクションイベントテーブル、およびデフォルトで無効になっているトランザクションイベント収集の制御方法の詳細は、その説明を参照してください。
トランザクションイベントのサマリー情報の例:
mysql> SELECT *
FROM performance_schema.events_transactions_summary_global_by_event_name
LIMIT 1\G
*************************** 1. row ***************************
EVENT_NAME: transaction
COUNT_STAR: 5
SUM_TIMER_WAIT: 19550092000
MIN_TIMER_WAIT: 2954148000
AVG_TIMER_WAIT: 3910018000
MAX_TIMER_WAIT: 5486275000
COUNT_READ_WRITE: 5
SUM_TIMER_READ_WRITE: 19550092000
MIN_TIMER_READ_WRITE: 2954148000
AVG_TIMER_READ_WRITE: 3910018000
MAX_TIMER_READ_WRITE: 5486275000
COUNT_READ_ONLY: 0
SUM_TIMER_READ_ONLY: 0
MIN_TIMER_READ_ONLY: 0
AVG_TIMER_READ_ONLY: 0
MAX_TIMER_READ_ONLY: 0
各トランザクション要約テーブルには、テーブルでのイベントの集計方法を示す 1 つ以上のグループ化カラムがあります。 イベント名は、setup_instruments
テーブル内のイベントインストゥルメントの名前を参照します:
events_transactions_summary_by_account_by_event_name
には、USER
、HOST
およびEVENT_NAME
カラムがあります。 各行には、特定のアカウント (ユーザーとホストの組合せ) およびイベント名のイベントが要約されます。events_transactions_summary_by_host_by_event_name
には、HOST
カラムおよびEVENT_NAME
カラムがあります。 各行には、特定のホストおよびイベント名のイベントが要約されます。events_transactions_summary_by_thread_by_event_name
には、THREAD_ID
カラムおよびEVENT_NAME
カラムがあります。 各行は特定のスレッドおよびイベント名のイベントを要約します。events_transactions_summary_by_user_by_event_name
には、USER
カラムおよびEVENT_NAME
カラムがあります。 各行には、特定のユーザーおよびイベント名のイベントが要約されます。events_transactions_summary_global_by_event_name
にはEVENT_NAME
カラムがあります。 各行は特定のイベント名のイベントを要約します。
各トランザクション要約テーブルには、集計値を含む次の要約カラムがあります:
-
COUNT_STAR
、SUM_TIMER_WAIT
、MIN_TIMER_WAIT
、AVG_TIMER_WAIT
、MAX_TIMER_WAIT
これらのカラムは、待機イベントサマリーテーブル (セクション27.12.18.1「待機イベント要約テーブル」 を参照) の同じ名前のカラムに似ていますが、トランザクションサマリーテーブルでは、
events_waits_current
ではなくevents_transactions_current
のイベントが集計される点が異なります。 これらのカラムには、読取り/書込みトランザクションと読取り専用トランザクションがまとめられています。 -
COUNT_READ_WRITE
,SUM_TIMER_READ_WRITE
,MIN_TIMER_READ_WRITE
,AVG_TIMER_READ_WRITE
,MAX_TIMER_READ_WRITE
これらは、
COUNT_STAR
カラムおよび
カラムに似ていますが、読取り/書込みトランザクションのみを要約します。 トランザクションアクセスモードでは、トランザクションが読取り/書込みモードと読取り専用モードのどちらで動作するかを指定します。xxx
_TIMER_WAIT -
COUNT_READ_ONLY
,SUM_TIMER_READ_ONLY
,MIN_TIMER_READ_ONLY
,AVG_TIMER_READ_ONLY
,MAX_TIMER_READ_ONLY
これらは、
COUNT_STAR
カラムおよび
カラムに似ていますが、読取り専用トランザクションのみを要約します。 トランザクションアクセスモードでは、トランザクションが読取り/書込みモードと読取り専用モードのどちらで動作するかを指定します。xxx
_TIMER_WAIT
トランザクション要約テーブルには、次のインデックスがあります:
-
events_transactions_summary_by_account_by_event_name
:主キー (
USER
,HOST
,EVENT_NAME
)
-
events_transactions_summary_by_host_by_event_name
:主キー (
HOST
、EVENT_NAME
)
-
events_transactions_summary_by_thread_by_event_name
:主キー (
THREAD_ID
、EVENT_NAME
)
-
events_transactions_summary_by_user_by_event_name
:主キー (
USER
、EVENT_NAME
)
-
events_transactions_summary_global_by_event_name
:主キー (
EVENT_NAME
)
TRUNCATE TABLE
は、トランザクション要約テーブルに対して許可されています。 これには次の効果があります:
アカウント、ホストまたはユーザーごとに集計されないサマリーテーブルの場合、切捨てによって、行が削除されるのではなくサマリーカラムがゼロにリセットされます。
アカウント、ホストまたはユーザー別に集計されたサマリーテーブルの場合、切捨てによって、接続のないアカウント、ホストまたはユーザーの行が削除され、残りの行のサマリーカラムがゼロにリセットされます。
また、アカウント、ホスト、ユーザーまたはスレッド別に集計された各トランザクションサマリーテーブルは、依存する接続テーブルの切捨てまたは events_transactions_summary_global_by_event_name
の切捨てによって暗黙的に切り捨てられます。 詳細は、セクション27.12.8「パフォーマンススキーマ接続テーブル」を参照してください。
トランザクションイベント収集は、分離レベル、アクセスモードまたは自動コミットモードに関係なく行われます。
トランザクションイベント収集は、サーバーによって開始された中断されていないすべてのトランザクション (空のトランザクションを含む) に対して発生します。
読取り/書込みトランザクションは通常、読取り専用トランザクションよりもリソース集中型であるため、トランザクションサマリーテーブルには、読取り/書込みトランザクションと読取り専用トランザクション用の個別の集計カラムが含まれます。
リソース要件は、トランザクション分離レベルによっても異なる場合があります。 ただし、サーバーごとに 1 つの分離レベルのみが使用されることを前提としており、分離レベルによる集計は提供されません。