information_schema 此資料庫是MySQL資料庫自帶的,主要存儲資料庫的元數據,保存了關於MySQL伺服器維護的所有其他資料庫的信息,如資料庫名、資料庫表、表列的數據類型及訪問許可權等。 這個庫在很多情況下,可以幫助我們做一些自動化處理的工作,比如巡檢程式找到所有的MyISAM表,或者 ...
information_schema
此資料庫是MySQL資料庫自帶的,主要存儲資料庫的元數據,保存了關於MySQL伺服器維護的所有其他資料庫的信息,如資料庫名、資料庫表、表列的數據類型及訪問許可權等。
這個庫在很多情況下,可以幫助我們做一些自動化處理的工作,比如巡檢程式找到所有的MyISAM表,或者是找到所有的自增列快達到上限的表。很多工具的信息來源,比如Percona Toolkit,它在查一些信息的時候也是通過在這個庫上執行SQL語句來做的。
這個庫有其明顯的缺點:它在每次查找的時候,都會現場統計相應的信息,這需要將相應的信息載入到記憶體中,做成記憶體表,然後將信息返回給客戶端,但如果比較多的話,這些語句的執行就會很慢,造成一些不可預知的風險,需要謹慎處理。
performance_schema
此庫是MySQL 5.5 新增的,主要是關註性能的,主要用於收集資料庫伺服器性能參數指標的。主要提供以下功能:
1.提供進程等待的詳細信息,包括鎖、互斥變數、文件信息等。
2.保存歷史事件彙總信息,為判斷MySQL伺服器性能提供詳細的依據。
3.添加或刪除監控事件點都非常容易,並可以隨意改變MySQL伺服器的監控周期。
Sys
此庫是MySQL 5.7新增的,這個庫類似Oracle中的動態視圖,通過這些視圖可以快速地瞭解系統的元數據,並非常方便地讓DBA發現資料庫的很多信息,在解決性能瓶頸、自動化運維等方面可以提供很大的幫助。
這個庫是通過視圖的形式把information_schema和performance_schema結合起來,查詢出讓人更容易理解的結果。因sys依賴information_schema,所以上文提到的缺點不足,sys同樣存在。
-----部分內容參考梳理於網路知識,在此感謝!