错误摘要表
性能架构维护摘要表,以汇总有关服务器错误(和警告)的统计信息。有关服务器错误的列表,请参见第B.3.1节“服务器错误消息参考”。
错误信息的收集由error
仪器控制,默认情况下启用。不收集时间信息。
每个错误摘要表都有三列来标识错误:
ERROR_NUMBER
是数字错误值。该值是唯一的。ERROR_NAME
是与该ERROR_NUMBER
值相对应的符号错误名称。该值是唯一的。SQLSTATE
是与值对应的SQLSTATEERROR_NUMBER
值。该值不一定是唯一的。
例如,如果ERROR_NUMBER
为1050,ERROR_NAME
则为ER_TABLE_EXISTS_ERROR
和SQLSTATE
为42S01
。
错误事件摘要信息示例:
mysql>SELECT *FROM performance_schema.events_errors_summary_global_by_errorWHERE 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 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
。有关详细信息,请参见“性能架构连接表”。