性能模式维护汇总表,用于汇总有关服务器错误(和警告)的统计信息。有关服务器错误的列表,请参阅 服务器错误消息参考。
错误信息的收集由
error仪器控制,默认开启。不收集时间信息。
每个错误摘要表都包含三列,用于标识错误:
ERROR_NUMBER是数字错误值。价值是独一无二的。ERROR_NAMEERROR_NUMBER是与该值对应的符号错误名称。价值是独一无二的。SQLSTATE是该值对应的 SQLSTATEERROR_NUMBER值。该值不一定是唯一的。
例如,如果ERROR_NUMBER是 1050,
ERROR_NAME则 is
ER_TABLE_EXISTS_ERROR和
SQLSTATEis 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每个错误汇总表都有一个或多个分组列来指示该表如何聚合错误:
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 服务器错误位于从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 节,“性能模式连接表”。