您可以將 sys
schema 設為預設 schema,如此一來對其物件的參照便無需使用 schema 名稱來限定。
mysql> USE sys;
Database changed
mysql> SELECT * FROM version;
+-------------+---------------+
| sys_version | mysql_version |
+-------------+---------------+
| 2.1.1 | 8.4.0-tr |
+-------------+---------------+
(version
檢視會顯示 sys
schema 和 MySQL 伺服器版本。)
若要在不同 schema 為預設值時存取 sys
schema 物件 (或單純為了明確起見),請使用 schema 名稱來限定物件參照。
mysql> SELECT * FROM sys.version;
+-------------+---------------+
| sys_version | mysql_version |
+-------------+---------------+
| 2.1.1 | 8.4.0-tr |
+-------------+---------------+
sys
schema 包含許多以各種方式彙總 Performance Schema 資料表的檢視。這些檢視大多成對出現,一對中的一個成員與另一個成員具有相同的名稱,但加上 x$
前綴。例如,host_summary_by_file_io
檢視彙總按主機分組的檔案 I/O,並顯示從皮秒轉換為更易讀值 (帶有單位) 的延遲;
mysql> SELECT * FROM sys.host_summary_by_file_io;
+------------+-------+------------+
| host | ios | io_latency |
+------------+-------+------------+
| localhost | 67570 | 5.38 s |
| background | 3468 | 4.18 s |
+------------+-------+------------+
x$host_summary_by_file_io
檢視彙總相同的資料,但顯示未格式化的皮秒延遲。
mysql> SELECT * FROM sys.x$host_summary_by_file_io;
+------------+-------+---------------+
| host | ios | io_latency |
+------------+-------+---------------+
| localhost | 67574 | 5380678125144 |
| background | 3474 | 4758696829416 |
+------------+-------+---------------+
不帶 x$
前綴的檢視旨在提供更使用者友善且更易於人類閱讀的輸出。帶有 x$
前綴的檢視以原始形式顯示相同的值,更適合用於其他對資料執行其自身處理的工具。如需關於非 x$
和 x$
檢視之間差異的其他資訊,請參閱第 30.4.3 節,「sys Schema 檢視」。
若要檢查 sys
schema 物件定義,請使用適當的 SHOW
陳述式或 INFORMATION_SCHEMA
查詢。例如,若要檢查 session
檢視和 format_bytes()
函數的定義,請使用這些陳述式:
mysql> SHOW CREATE VIEW sys.session;
mysql> SHOW CREATE FUNCTION sys.format_bytes;
不過,這些陳述式會以相對未格式化的形式顯示定義。若要檢視具有更可讀格式的物件定義,請存取 MySQL 原始碼發行版中 scripts/sys_schema
目錄下的個別 .sql
檔案。
mysqldump 預設不會傾印 sys
schema。若要產生傾印檔案,請使用以下任一指令在命令列上明確命名 sys
schema:
mysqldump --databases --routines sys > sys_dump.sql
若要從傾印檔案重新安裝 schema,請使用此命令:
mysql < sys_dump.sql