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

MySQL SHOW 指令大全:獲取資料庫、資料表、索引、狀態完整資訊

     編輯:MySQL 資料庫相關知識

資料庫與資料表結構

指令說明範例
SHOW DATABASES列出所有資料庫SHOW DATABASES LIKE '%test';
SHOW TABLES列出資料庫所有表SHOW TABLES FROM db_name;
SHOW COLUMNS顯示表欄位定義SHOW COLUMNS FROM tbl FROM db;
DESCRIBE / DESCSHOW COLUMNS 別名DESC tbl;
SHOW INDEX / KEYS顯示索引詳細資訊SHOW INDEX FROM tbl FROM db;
SHOW CREATE TABLE顯示建表 SQLSHOW CREATE TABLE tbl;
SHOW TABLE STATUS顯示表引擎、行數、大小等統計SHOW TABLE STATUS FROM db;

伺服器狀態與配置

指令說明關鍵輸出欄位
SHOW STATUS伺服器狀態計數器Connections, Questions, Slow_queries, Threads_connected, Handler_read_*
SHOW VARIABLES系統變數配置值innodb_buffer_pool_size, max_connections, sql_mode 等
SHOW PROCESSLIST當前執行緒/查詢列表Id, User, Host, db, Command, Time, State, Info
SHOW ENGINE INNODB STATUSInnoDB 內部狀態(鎖、事務、緩衝池)大量文字輸出,需配合工具解析

權限與複寫

指令說明
SHOW GRANTS FOR user顯示用戶權限授予語句
SHOW SLAVE STATUS從庫複寫狀態(IO/SQL 執行緒、延遲、錯誤)
SHOW MASTER STATUS主庫 Binlog 位置
SHOW BINLOG EVENTS查看 Binlog 事件

進階用法技巧

  • LIKE 模糊匹配:SHOW TABLES LIKE 'user%'; 支援 %、_ 通配符。
  • WHERE 篩選 (5.7+):SHOW TABLE STATUS WHERE Engine='InnoDB'; 直接篩選結果集。
  • 簡寫別名:db.tbl 等同 tbl FROM db,如 SHOW COLUMNS FROM db.tbl;。
  • mysqlshow 命令列工具:mysqlshow db tbl 相當於 SHOW COLUMNS,mysqlshow -k db tbl 相當於 SHOW INDEX。

SHOW TABLE STATUS 關鍵欄位解讀

欄位含義
Name表名
Engine儲存引擎
Rows預估行數 (InnoDB 非精確)
Avg_row_length平均行長度
Data_length資料檔大小
Index_length索引檔大小
Auto_increment下一個自增值
Create_time / Update_time / Check_time建立/更新/檢查時間
Collation校對規則

SHOW INDEX 關鍵欄位解讀

欄位含義
Non_unique0=唯一索引, 1=非唯一
Key_name索引名 (PRIMARY 為主鍵)
Seq_in_index索引內欄位順序 (1 起)
Column_name欄位名
Cardinality不重複值估計數 (越高選擇性越好)
Sub_part前綴索引長度 (NULL=全欄位)
Index_typeBTREE / FULLTEXT / HASH 等

總結

SHOW 系列是 DBA 日常巡檢、開發除錯的核心工具。熟練掌握 STATUS 監控效能指標、VARIABLES 核對配置、PROCESSLIST 排查阻塞、SLAVE STATUS 監控複寫延遲,能解決 80% 以上線上問題。

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