MySQL 5.7 では、DBA がいくつかの問題を分析できるようにする sys ライブラリが導入されました。 sys ライブラリには、いくつかのストアド プロシージャ、ビュー、関数などが含まれています。
ビューまたはテーブル: 結果の概要表示と構成の永続化に使用されます。
ストアド プロシージャ: パフォーマンス スキーマの制御と収集に使用されます。
機能: パフォーマンススキーマの構成とデータフォーマット。
今日はビューに関する内容を中心に解説していきます。その他のコンテンツはニーズに応じて異なります。
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ライブラリの下に2つのテーブルがあります
文字で始まる: 人間が読むのに適しており、表示はフォーマットされた数字です
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 スキーマ ライブラリに使用されます
の設定
View:
host: IP ごとにグループ化された統計情報
innodb: innodb バッファー関連情報
io: 表示される IO 関連情報データ内のさまざまな次元で
memory: IP、接続、ユーザー、割り当てられたタイプ グループ、および占有合計の表示メモリ使用量
metrics: DB の内部統計値
processlist: スレッド関連情報 (内部スレッドとユーザー接続を含む) )
ps_: ツール統計のないいくつかの変数 (存在の価値がわかりません)
スキーマ: 自動インクリメント、インデックス、テーブル内の各フィールド タイプ、待機ロックなどのテーブル構造に関連する情報、など。
session: ユーザー接続に関する情報
statement : ステートメントに基づく統計情報 (再ストア)
statements_ : エラーステートメント、フルテーブルスキャン、長い実行時間、均等ソート (強調)
user_ : host_ で始まるものと似ていますが、統計のためにユーザーごとにグループ化されています
wait: イベントを待機していますが、より専門的で理解しにくいです。
waits: IP およびユーザー グループに基づいて計算される一部の遅延イベントには、特定の基準値があります。
上記は、MySQL 5.7 の Sys ライブラリの使用方法を学習する内容です (その 1)。さらに関連する内容については、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。