MySQL 8.0 リファレンスマニュアル


27.12.18.11 エラー要約テーブル

パフォーマンススキーマは、サーバーエラー (および警告) に関する統計情報を集約するためのサマリーテーブルを保持します。 サーバーエラーのリストは、Server Error Message Reference を参照してください。

エラー情報の収集は、デフォルトで有効になっている error インストゥルメントによって制御されます。 タイミング情報は収集されません。

各エラーサマリーテーブルには、エラーを識別する 3 つのカラムがあります:

  • ERROR_NUMBER は数値のエラー値です。 値は一意です。

  • ERROR_NAME は、ERROR_NUMBER 値に対応するシンボリックエラー名です。 値は一意です。

  • SQLSTATE は、ERROR_NUMBER 値に対応する SQLSTATE 値です。 値は必ずしも一意ではありません。

たとえば、ERROR_NUMBER が 1050 の場合、ERROR_NAMEER_TABLE_EXISTS_ERROR で、SQLSTATE42S01 です。

エラーイベントのサマリー情報の例:

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 には、USERHOST および 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=0ERROR_NAME=NULL および SQLSTATE=NULL を含む行です。

エラーサマリーテーブルには、次のインデックスがあります:

  • events_errors_summary_by_account_by_error:

    • 主キー (USER, HOST, ERROR_NUMBER)

  • events_errors_summary_by_host_by_error:

    • 主キー (HOSTERROR_NUMBER)

  • events_errors_summary_by_thread_by_error:

    • 主キー (THREAD_IDERROR_NUMBER)

  • events_errors_summary_by_user_by_error:

    • 主キー (USERERROR_NUMBER)

  • events_errors_summary_global_by_error:

    • 主キー (ERROR_NUMBER)

TRUNCATE TABLE はエラーサマリーテーブルに対して許可されています。 これには次の効果があります:

  • アカウント、ホストまたはユーザーごとに集計されないサマリーテーブルの場合、切捨てによって、行が削除されるのではなく、サマリーカラムがゼロまたは NULL にリセットされます。

  • アカウント、ホストまたはユーザー別に集計されたサマリーテーブルの場合、切捨てによって、接続のないアカウント、ホストまたはユーザーの行が削除され、残りの行のサマリーカラムがゼロまたは NULL にリセットされます。

また、アカウント、ホスト、ユーザーまたはスレッド別に集計された各エラーサマリーテーブルは、依存する接続テーブルの切捨てまたは events_errors_summary_global_by_error の切捨てによって暗黙的に切り捨てられます。 詳細は、セクション27.12.8「パフォーマンススキーマ接続テーブル」を参照してください。


関連キーワード:  テーブル, パフォーマンス, スキーマ, events, エラー, NUMBER, カラム, errors, summary, イベント