?mysql 5.7 引入sys庫 用于幫助dba分析一些問題。 sys庫里面就是一些存儲過程,視圖,函數等。
? ? ?視圖或是表: 用于結果的匯總展示及配置持久化
? ? ?存儲過程: 用于對Performance schema的控制及收集。
? ? ?函數: 對于Performance schema的配置及數據格式化。
? ? ?今天主要先講解視圖相關的內容。其它內容看大家需求。
Sys庫里的數據來源
Sys庫所有的數據源來自:performance_schema 。目標是把Performance_schema的把復雜度降低,讓DBA能更好的閱讀這個庫里的內容。讓DBA更快的了解DB的運行情況。
查看sys庫的版本
select?*?from?sys.version; +-------------+---------------+ |?sys_version?|?mysql_version?| +-------------+---------------+ |?1.5.1???????????|?5.7.14-log??????| +-------------+---------------+
Sys庫下有兩種表
-
字母開頭 : 適合人閱讀,顯示是格式化的數
-
x$開頭 : 適合工具采集數據,原始類數據
root@localhost?[sys]>select?host,statements,?statement_latency,statement_avg_latency?from?host_summary;?? +-----------+------------+-------------------+-----------------------+ |?host??????|?statements?|?statement_latency?|?statement_avg_latency?| +-----------+------------+-------------------+-----------------------+ |?localhost?|?????????92?|?72.24?ms??????????|?785.21?us?????????????| +-----------+------------+-------------------+-----------------------+ 1?row?in?set?(0.01?sec) root@localhost?[sys]>select?host,statements,?statement_latency,statement_avg_latency?from?x$host_summary; +-----------+------------+-------------------+-----------------------+ |?host??????|?statements?|?statement_latency?|?statement_avg_latency?| +-----------+------------+-------------------+-----------------------+ |?localhost?|?????????91?|???????63268768000?|????????695261186.8132?| +-----------+------------+-------------------+-----------------------+ 1?row?in?set?(0.01?sec)
接下來看看sys可以支持查看方向:
select?substring_index(table_name,"_",1)?,count(*)?from??information_schema.tables?where?TABLE_SCHEMA='sys'? and?table_name?not?like?'x$%'?group?by?substring_index(table_name,"_",1); +-----------------------------------+----------+ |?substring_index(table_name,"_",1)?|?count(*)?| +-----------------------------------+----------+ |?host??????????????????????????????|????????6?| |?innodb????????????????????????????|????????3?| |?io????????????????????????????????|????????5?| |?latest????????????????????????????|????????1?| |?memory????????????????????????????|????????5?| |?metrics???????????????????????????|????????1?| |?processlist???????????????????????|????????1?| |?ps????????????????????????????????|????????1?| |?schema????????????????????????????|????????9?| |?Session???????????????????????????|????????2?| |?statement?????????????????????????|????????1?| |?statements????????????????????????|????????5?| |?sys???????????????????????????????|????????1?| |?user??????????????????????????????|????????6?| |?version???????????????????????????|????????1?| |?wait??????????????????????????????|????????2?| |?waits?????????????????????????????|????????3?| +-----------------------------------+----------+ 17?rows?in?set?(0.00?sec)
每類表大概介紹
sys_開頭是庫里的配置表:
sys_config用于sys schema庫的配置
視圖:
host : ?以IP分組相關的統計信息
innodb : innodb buffer 相關信息
io : 數據內不同維度展的IO相關的信息
memory : 以IP,連接,用戶,分配的類型分組及總的占用顯示內存的使用
metrics : DB的內部的統計值
processlist : 線程相關的信息(包含內部線程及用戶連接)
ps_ : 沒有工具統計的一些變量(沒看出來存在的價值)
schema : 表結構相關的信息,例如: 自增,索引, 表里的每個字段類型,等待的鎖等等
session : 用戶連接相關的信息
statement : 基于語句的統計信息(重店)
statements_ : 出錯的語句,進行全表掃描, 運行時間超長,排序相等(重點)
user_ : 和host_開頭的相似,只是以用戶分組統計
wait ?: ?等待事件,比較專業,難看懂。?
waits : ?以IP,用戶分組統計出來的一些延遲事件,有一定的參考價值。
以上就是學習MySQL 5.7的Sys庫使用(上)的內容,更多相關內容請關注PHP中文網(www.php.cn)!