查詢MySQL資料庫,MySQL表的大小
查詢資料庫,表大小
- 檢視資料庫列表
- 查詢所有資料庫的總大小
- 統計所有庫資料量
- 統計每個庫大小
- 檢視指定資料庫的大小
- 檢視所有資料庫各個容量大小
- 檢視所有資料庫各個表容量大小
- 檢視指定資料庫容量大小
- 檢視指定資料庫各個表容量大小
-- 檢視資料庫列表,並選擇進入information_schema
SHOW DATABASES;
USE information_schema;
-- 查詢所有資料庫的總大小
SELECT concat(round(SUM(DATA_LENGTH / 1024 / 1024), 2), 'MB') AS DATA
FROM TABLES;
-- 統計所有庫資料量,注:每張表資料量=AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH
SELECT concat(ROUND(SUM((AVG_ROW_LENGTH * TABLE_ROWS + INDEX_LENGTH) / 1024 / 1024), 2), 'MB') AS 'Total(MB)'
FROM information_schema.TABLES;
-- 統計每個庫大小
SELECT table_schema
, round(SUM((AVG_ROW_LENGTH * TABLE_ROWS + INDEX_LENGTH) / 1024 / 1024), 2) AS 'Total(MB)'
FROM information_schema.TABLES
GROUP BY table_schema;
-- 檢視指定資料庫的大小,例如資料庫mysql,方法如下:
SELECT concat(round(SUM(DATA_LENGTH / 1024 / 1024), 2), 'MB') AS DATA
FROM TABLES
WHERE table_schema = 'mysql';
-- 檢視所有資料庫各個容量大小
SELECT table_schema AS '資料庫名', SUM(table_rows) AS '資料行數'
, SUM(TRUNCATE(data_length / 1024 / 1024, 2)) AS '資料容量(MB)'
, SUM(TRUNCATE(index_length / 1024 / 1024, 2)) AS '索引容量(MB)'
FROM information_schema.TABLES
GROUP BY table_schema
ORDER BY SUM(data_length) DESC, SUM(index_length) DESC;
-- 檢視所有資料庫各個表容量大小
SELECT table_schema AS '資料庫', table_name AS '表名', table_rows AS '記錄數'
, TRUNCATE(data_length / 1024 / 1024, 2) AS '資料容量(MB)'
, TRUNCATE(index_length / 1024 / 1024, 2) AS '索引容量(MB)'
FROM information_schema.TABLES
ORDER BY data_length DESC, index_length DESC;
-- 檢視指定資料庫容量大小,例:檢視mysql庫容量大小
SELECT table_schema AS '資料庫', SUM(table_rows) AS '記錄數'
, SUM(TRUNCATE(data_length / 1024 / 1024, 2)) AS '資料容量(MB)'
, SUM(TRUNCATE(index_length / 1024 / 1024, 2)) AS '索引容量(MB)'
FROM information_schema.TABLES
WHERE table_schema = 'mysql';
-- 檢視指定資料庫各個表容量大小,例:檢視mysql庫各表容量大小
SELECT table_schema AS '資料庫', table_name AS '表名', table_rows AS '記錄數'
, TRUNCATE(data_length / 1024 / 1024, 2) AS '資料容量(MB)'
, TRUNCATE(index_length / 1024 / 1024, 2) AS '索引容量(MB)'
FROM information_schema.TABLES
WHERE table_schema = 'mysql'
ORDER BY data_length DESC, index_length DESC;
MySQL中information_schema.TABLES欄位說明
欄位 | 含義 |
---|---|
Table_catalog | 資料表登記目錄 |
Table_schema | 資料表所屬的資料庫名 |
Table_name | 表名稱 |
Table_type | 表型別[system view|base table] |
Engine | 使用的資料庫引擎[MyISAM|CSV|InnoDB] |
Version | 版本,預設值10 |
Row_format | 行格式[Compact|Dynamic|Fixed] |
Table_rows | 表裡所存多少行資料 |
Avg_row_length | 平均行長度 |
Data_length | 資料長度 |
Max_data_length | 最大資料長度 |
Index_length | 索引長度 |
Data_free | 空間碎片 |
Auto_increment | 做自增主鍵的自動增量當前值 |
Create_time | 表的建立時間 |
Update_time | 表的更新時間 |
Check_time | 表的檢查時間 |
Table_collation | 表的字元校驗編碼集 |
Checksum | 校驗和 |
Create_options | 建立選項 |
Table_comment | 表的註釋、備註 |
舉例:
-- 檢視錶的大小,條數,可以查data_length,table_rows
SELECT TABLE_NAME
, concat(truncate(data_length / 1024 / 1024, 2), ' MB') AS data_size
, table_rows
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'mysql'
AND TABLE_NAME IN ("db", "user");
相關文章
- mysql資料庫連表查詢的幾種方法MySql資料庫
- 查詢資料庫大小資料庫
- 【資料庫】MySQL查詢優化資料庫MySql優化
- MySQL—-MySQL資料庫入門—-第四章 單表查詢MySql資料庫
- 查詢資料庫每個表佔用的大小資料庫
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- MYSQL中怎麼查詢LONGBLOB型別資料的大小MySql型別
- mysql 5.7後使用sys資料庫下的表查詢資料庫效能狀況MySql資料庫
- PHP連線、查詢MySQL資料庫PHPMySql資料庫
- MySQL資料庫 ---MySQL表的增刪改查(進階)MySql資料庫
- MYSQL查詢資料MySql
- 查詢資料庫的資料量的大小資料庫
- 2018-11-21MySQL建學生表資料庫+查詢MySql資料庫
- SQLServer查詢所有資料庫大小SQLServer資料庫
- 資料庫遞迴查詢:MySQL VS Sequelize資料庫遞迴MySql
- Excel資料庫轉MySQL,實現查詢Excel資料庫MySql
- MySQL - 資料查詢 - 簡單查詢MySql
- python資料庫-MySQL資料庫高階查詢操作(51)Python資料庫MySql
- mysql查詢表中日期最大的那條資料MySql
- MySQL命令檢視資料庫和表容量大小MySql資料庫
- 15個高效的MySQL資料庫查詢小技巧MySql資料庫
- MySQL 單表查詢MySql
- MySQL單表查詢MySql
- mysql鎖表查詢MySql
- mysql連表查詢出現資料重複MySql
- mysql查詢表基礎資訊MySql
- MySQL 查詢重複的資料MySql
- Mysql 查詢近半年的資料MySql
- Mysql資料庫之多表查詢、事務、DCLMySql資料庫
- MySQL資料庫:7、SQL常用查詢語句MySql資料庫
- 資料庫查詢和資料庫(MySQL)索引的最佳化建議資料庫MySql索引
- mysql將查詢資料另存MySql
- MySQL — 資料查詢語言MySql
- 怎樣在磁碟上查詢MySQL表的大小?這裡有答案MySql
- Mysql資料庫使用from與join兩表查詢的方法區別總結MySql資料庫
- mysql資料庫查詢時用到的分頁方法有哪些MySql資料庫
- 資料庫基礎查詢--單表查詢資料庫
- MySQL資料庫健康檢查--MySQL巡檢MySql資料庫