`information_schema.TABLES` 視圖記錄了所有表的儲存引擎、行數、數據大小、索引大小等元數據,無需 `SHOW TABLE STATUS` 逐表查看。
-- 1. 查看某庫所有表大小與行數
SELECT TABLE_NAME,
DATA_LENGTH + INDEX_LENGTH AS total_size_bytes,
TABLE_ROWS
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'your_db'
ORDER BY total_size_bytes DESC;
-- 2. 查看單表大小
SELECT DATA_LENGTH + INDEX_LENGTH AS total_size, TABLE_ROWS
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'your_db' AND TABLE_NAME = 'your_table';
-- 3. 統計全庫總大小
SELECT TABLE_SCHEMA AS db_name,
SUM(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 AS total_mb
FROM information_schema.TABLES
GROUP BY TABLE_SCHEMA;