このページは機械翻訳したものです。
パフォーマンススキーマは、サーバーエラー (および警告) に関する統計情報を集約するためのサマリーテーブルを保持します。 サーバーエラーのリストは、Server Error Message Reference を参照してください。
エラー情報の収集は、デフォルトで有効になっている error インストゥルメントによって制御されます。 タイミング情報は収集されません。
各エラーサマリーテーブルには、エラーを識別する 3 つのカラムがあります:
ERROR_NUMBERは数値のエラー値です。 値は一意です。ERROR_NAMEは、ERROR_NUMBER値に対応するシンボリックエラー名です。 値は一意です。SQLSTATEは、ERROR_NUMBER値に対応する SQLSTATE 値です。 値は必ずしも一意ではありません。
たとえば、ERROR_NUMBER が 1050 の場合、ERROR_NAME は ER_TABLE_EXISTS_ERROR で、SQLSTATE は 42S01 です。
エラーイベントのサマリー情報の例:
mysql> SELECT *
FROM performance_schema.events_errors_summary_global_by_error
WHERE SUM_ERROR_RAISED <> 0\G
*************************** 1. row ***************************
ERROR_NUMBER: 1064
ERROR_NAME: ER_PARSE_ERROR
SQL_STATE: 42000
SUM_ERROR_RAISED: 1
SUM_ERROR_HANDLED: 0
FIRST_SEEN: 2016-06-28 07:34:02
LAST_SEEN: 2016-06-28 07:34:02
*************************** 2. row ***************************
ERROR_NUMBER: 1146
ERROR_NAME: ER_NO_SUCH_TABLE
SQL_STATE: 42S02
SUM_ERROR_RAISED: 2
SUM_ERROR_HANDLED: 0
FIRST_SEEN: 2016-06-28 07:34:05
LAST_SEEN: 2016-06-28 07:36:18
*************************** 3. row ***************************
ERROR_NUMBER: 1317
ERROR_NAME: ER_QUERY_INTERRUPTED
SQL_STATE: 70100
SUM_ERROR_RAISED: 1
SUM_ERROR_HANDLED: 0
FIRST_SEEN: 2016-06-28 11:01:49
LAST_SEEN: 2016-06-28 11:01:49
各エラーサマリーテーブルには、テーブルでのエラーの集計方法を示す 1 つ以上のグループ化カラムがあります:
events_errors_summary_by_account_by_errorには、USER、HOSTおよびERROR_NUMBERカラムがあります。 各行には、特定のアカウント (ユーザーとホストの組合せ) およびエラーのイベントが要約されます。events_errors_summary_by_host_by_errorには、HOSTカラムおよびERROR_NUMBERカラムがあります。 各行には、特定のホストおよびエラーのイベントが要約されます。events_errors_summary_by_thread_by_errorには、THREAD_IDカラムおよびERROR_NUMBERカラムがあります。 各行には、特定のスレッドおよびエラーのイベントが要約されます。events_errors_summary_by_user_by_errorには、USERカラムおよびERROR_NUMBERカラムがあります。 各行には、特定のユーザーおよびエラーのイベントが要約されます。events_errors_summary_global_by_errorにはERROR_NUMBERカラムがあります。 各行には、特定のエラーのイベントが要約されます。
各エラーサマリーテーブルには、集計値を含む次のサマリーカラムがあります:
-
SUM_ERROR_RAISEDこのカラムには、エラーが発生した回数が集計されます。
-
SUM_ERROR_HANDLEDこのカラムは、SQL 例外ハンドラによってエラーが処理された回数を集計します。
-
FIRST_SEEN,LAST_SEENエラーが最初に表示された時間と最後に表示された時間を示すタイムスタンプ。
各エラーサマリーテーブルの NULL 行は、インストゥルメントされたエラーの範囲外にあるすべてのエラーの統計を集計するために使用されます。 たとえば、MySQL Server エラーが M から N の範囲内にあり、その範囲内にない番号 Q でエラーが発生した場合、エラーは NULL 行に集計されます。 NULL の行は、ERROR_NUMBER=0、ERROR_NAME=NULL および SQLSTATE=NULL を含む行です。
エラーサマリーテーブルには、次のインデックスがあります:
-
events_errors_summary_by_account_by_error:主キー (
USER,HOST,ERROR_NUMBER)
-
events_errors_summary_by_host_by_error:主キー (
HOST、ERROR_NUMBER)
-
events_errors_summary_by_thread_by_error:主キー (
THREAD_ID、ERROR_NUMBER)
-
events_errors_summary_by_user_by_error:主キー (
USER、ERROR_NUMBER)
-
events_errors_summary_global_by_error:主キー (
ERROR_NUMBER)
TRUNCATE TABLE はエラーサマリーテーブルに対して許可されています。 これには次の効果があります:
アカウント、ホストまたはユーザーごとに集計されないサマリーテーブルの場合、切捨てによって、行が削除されるのではなく、サマリーカラムがゼロまたは
NULLにリセットされます。アカウント、ホストまたはユーザー別に集計されたサマリーテーブルの場合、切捨てによって、接続のないアカウント、ホストまたはユーザーの行が削除され、残りの行のサマリーカラムがゼロまたは
NULLにリセットされます。
また、アカウント、ホスト、ユーザーまたはスレッド別に集計された各エラーサマリーテーブルは、依存する接続テーブルの切捨てまたは events_errors_summary_global_by_error の切捨てによって暗黙的に切り捨てられます。 詳細は、セクション27.12.8「パフォーマンススキーマ接続テーブル」を参照してください。