首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL SHOW 指令大全:從資料庫、表、索引到效能狀態一網打盡

     編輯:MySQL 資料庫相關知識

SHOW 指令分類速查表

指令用途關鍵輸出欄位
SHOW DATABASES列出所有資料庫Database
SHOW TABLES [FROM db]列出資料庫所有表Tables_in_db
SHOW COLUMNS FROM tbl [FROM db]顯示表欄位定義Field, Type, Null, Key, Default, Extra
DESC tbl / DESCRIBE tblSHOW COLUMNS 簡寫同上
SHOW CREATE TABLE tbl顯示建表 SQL(含引擎、編碼、分區)Table, Create Table
SHOW INDEX FROM tbl [FROM db]顯示索引詳情Key_name, Seq_in_index, Column_name, Cardinality, Index_type
SHOW TABLE STATUS [FROM db]表狀態統計Engine, Rows, Data_length, Index_length, Auto_increment, Create_time, Update_time
SHOW ENGINES支援的儲存引擎與預設值Engine, Support, Comment, Transactions, XA, Savepoints
SHOW VARIABLES [LIKE 'pat']系統變數值Variable_name, Value
SHOW STATUS [LIKE 'pat']伺服器狀態計數器Variable_name, Value
SHOW PROCESSLIST當前執行緒/查詢Id, User, Host, db, Command, Time, State, Info
SHOW GRANTS [FOR user]使用者權限Grants for user@host
SHOW PRIVILEGES伺服器支援的權限類型Privilege, Context, Comment
SHOW WARNINGS最後一條語句的警告/錯誤/通知Level, Code, Message
SHOW ERRORS最後一條語句的錯誤Level, Code, Message
SHOW CREATE DATABASE db建庫 SQLDatabase, Create Database
SHOW BINLOG EVENTS [IN 'file']二進制日誌事件Log_name, Pos, Event_type, Server_id, Info
SHOW MASTER STATUS主庫 Binlog 位置File, Position, Binlog_Do_DB, Binlog_Ignore_DB, Executed_Gtid_Set
SHOW SLAVE STATUS從庫複寫狀態Slave_IO_State, Master_Host, Seconds_Behind_Master, ...
SHOW RELAYLOG EVENTS中繼日誌事件同 Binlog Events
SHOW OPEN TABLES開啟的表快取狀態Database, Table, In_use, Name_locked
SHOW PLUGINS已安裝插件Name, Status, Type, Library, License

高頻使用場景與範例

1. 診斷慢查詢與鎖等待

SHOW PROCESSLIST;
-- 或完整查詢
SHOW FULL PROCESSLIST;
-- 關注 Time 高、State 為 'Locked'/'Waiting for table metadata lock' 的執行緒

2. 檢查索引基數與選擇性

SHOW INDEX FROM orders;
-- Cardinality 越接近行數,選擇性越高
-- 低選擇性索引(如性別、狀態)優化器可能忽略

3. 監控 InnoDB 關鍵指標

SHOW STATUS LIKE 'Innodb_buffer_pool%';
SHOW STATUS LIKE 'Innodb_row_lock%';
SHOW ENGINE INNODB STATUS;  -- 詳細事務、鎖、死鎖、換頁資訊

4. 確認複寫延遲

SHOW SLAVE STATUS\G
-- 關鍵:Slave_IO_Running=Yes, Slave_SQL_Running=Yes, Seconds_Behind_Master=0

5. 線上 DDL 進度(5.6+)

SHOW PROCESSLIST;  -- State 顯示 'copy to tmp table' 等階段
-- 或查詢 performance_schema.events_stages_current

效能 Schema 替代方向(MySQL 5.7+)

performance_schema 提供更豐富、結構化的儀表資料,建議新專案優先使用:

  • events_statements_summary_by_digest:SQL 指紋聚合統計
  • table_io_waits_summary_by_table:表級 I/O 等待
  • memory_summary_global_by_event_name:記憶體分配分布

小結

SHOW 系列是 MySQL 運維診斷的瑞士刀。熟記核心 10-15 條指令,配合 LIKE 過濾與 \G 垂直顯示,能快速定位 80% 的效能與複寫問題。漸進式遷移至 performance_schema 獲得更深度觀測能力。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved