Documentation Home

27.12.20.11 错误汇总表

性能模式维护汇总表,用于汇总有关服务器错误(和警告)的统计信息。有关服务器错误的列表,请参阅 服务器错误消息参考

错误信息的收集由 error仪器控制,默认开启。不收集时间信息。

每个错误摘要表都包含三列,用于标识错误:

  • ERROR_NUMBER是数字错误值。价值是独一无二的。

  • ERROR_NAMEERROR_NUMBER 是与该值对应的符号错误名称。价值是独一无二的。

  • SQLSTATE是该值对应的 SQLSTATEERROR_NUMBER 值。该值不一定是唯一的。

例如,如果ERROR_NUMBER是 1050, ERROR_NAME则 is ER_TABLE_EXISTS_ERRORSQLSTATEis 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

每个错误汇总表都有一个或多个分组列来指示该表如何聚合错误:

每个错误摘要表都有这些包含聚合值的摘要列:

  • SUM_ERROR_RAISED

    此列汇总错误发生的次数。

  • SUM_ERROR_HANDLED

    此列汇总 SQL 异常处理程序处理错误的次数。

  • FIRST_SEEN, LAST_SEEN

    指示错误首次出现和最近出现时间的时间戳。

每个错误汇总表中的NULL一行用于汇总超出检测错误范围的所有错误的统计信息。例如,如果 MySQL 服务器错误位于从M到 的范围内,N并且引发的错误编号Q不在该范围内,则该错误将汇总到该NULL行中。该 NULL行是带有 ERROR_NUMBER=0ERROR_NAME=NULL和 的行SQLSTATE=NULL

错误摘要表具有以下索引:

TRUNCATE TABLE允许用于错误汇总表。它具有以下效果:

  • 对于未按帐户、主机或用户聚合的汇总表,截断会将汇总列重置为零, NULL而不是删除行。

  • 对于按帐户、主机或用户聚合的摘要表,截断会删除没有连接的帐户、主机或用户的行,并将摘要列重置为零或 NULL将其余行重置为零。

此外,每个按帐户、主机、用户或线程聚合的错误摘要表都会通过截断它所依赖的连接表或截断 events_errors_summary_global_by_error. 有关详细信息,请参阅 第 27.12.8 节,“性能模式连接表”