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 連線表」。