首頁 >資料庫 >mysql教程 >學習MySQL 5.7的Sys函式庫使用(上)

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

黄舟
黄舟原創
2017-02-07 11:47:391315瀏覽

 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庫下有兩種表

  • 字母開頭: 適合人閱讀,顯示是格式化的數個

  • 字母開頭:適合人閱讀,顯示是格式化的數字原始類別資料

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_開頭是庫裡的設定表:


sys_p配置

視圖:

host :  以IP分組相關的統計資訊

innodb : innodb buffer 相關資訊

io : 資料內不同維度的IO IO3 月,相關資訊

io : 資料內不同維度的IOIO IO*用戶,分配的類型分組及總的佔用顯示內存的使用

metrics : DB的內部的統計值

processlist : 線程相關的信息(包含內部線程及用戶連接)

ps_ : 沒有工具統計的一些變量(沒看出來存在的價值)

schema : 表結構相關的信息,例如: 自增,索引, 表裡的每個字段類型,等待的鎖等等

session : 用戶連接相關的信息

statement : 基於語句的統計資料(重店)

statements_ : 出錯的語句,進行全表掃描, 運行時間超長,排序相等(重點)

user_ : 和host_開頭的相似,只是以用戶分組統計

wait  :  等待事件,較專業,難懂。 

waits :  以IP,用戶分組統計出來的一些延遲事件,有一定的參考值。


以上就是學習MySQL 5.7的Sys函式庫使用(上)的內容,更多相關內容請關注PHP中文網(www.php.cn)!

🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn