Performance Schema 維護摘要表,以彙總有關伺服器錯誤(和警告)的統計資訊。如需伺服器錯誤的清單,請參閱伺服器錯誤訊息參考。
錯誤資訊的收集由預設啟用的 error
工具控制。不會收集時間資訊。
每個錯誤摘要表都有三個欄位來識別錯誤
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
每個錯誤摘要表都有一個或多個分組欄位,以指示表格如何彙總錯誤
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
被截斷而隱式地被截斷。詳細資訊請參閱第 29.12.8 節,「Performance Schema 連線表」。