學習MySQL 5.7的Sys庫使用(上)

?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)!

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享