MySQL數(shù)據(jù)庫實現(xiàn)統(tǒng)計所有表的空間占用與行數(shù)
查看某個數(shù)據(jù)庫中所有表的空間與行數(shù)統(tǒng)計
SELECT
TABLE_NAME AS `表名`,
TABLE_ROWS AS `行數(shù)`,
ROUND(DATA_LENGTH / 1024 / 1024, 2) AS `數(shù)據(jù)大小(MB)`,
ROUND(INDEX_LENGTH / 1024 / 1024, 2) AS `索引大小(MB)`,
ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS `總占用空間(MB)`,
ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024, 2) AS `總占用空間(GB)`
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = 'your_database_name' -- 替換為你的數(shù)據(jù)庫名
ORDER BY
(DATA_LENGTH + INDEX_LENGTH) DESC;執(zhí)行結(jié)果

查看某個數(shù)據(jù)庫總空間占用情況
SELECT
TABLE_SCHEMA AS `數(shù)據(jù)庫名`,
SUM(TABLE_ROWS) AS `總行數(shù)`,
ROUND(SUM(DATA_LENGTH) / 1024 / 1024, 2) AS `數(shù)據(jù)總大小(MB)`,
ROUND(SUM(INDEX_LENGTH) / 1024 / 1024, 2) AS `索引總大小(MB)`,
ROUND(SUM(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS `總占用空間(MB)`,
ROUND(SUM(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024, 2) AS `總占用空間(GB)`
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = 'your_database_name'
GROUP BY
TABLE_SCHEMA;執(zhí)行結(jié)果

知識擴展
統(tǒng)計數(shù)據(jù)庫下所有表的數(shù)據(jù)行數(shù)
剛開始統(tǒng)計數(shù)據(jù)庫中有多少行數(shù)據(jù)的時候,使用 information_schema.TABLES 去統(tǒng)計發(fā)現(xiàn)誤差很大 ,具體原因這里不再說明
select table_schema as '數(shù)據(jù)庫', table_name as '表名', table_comment as '表注釋', table_rows as '記錄數(shù)', truncate(data_length/1024/1024, 2) as '數(shù)據(jù)容量(MB)', truncate(index_length/1024/1024, 2) as '索引容量(MB)' from information_schema.tables where table_schema='test' order by table_rows desc, index_length desc;
以下是另一個方法:
執(zhí)行sql,生成所有表的統(tǒng)計語句
select concat(
'select "',
TABLE_name,
'", count(*) as t from `',
TABLE_SCHEMA,
'`.`',
TABLE_name,
'` union all'
) from information_schema.tables
-- 排除指定庫
where
table_schema not in('mysql','information_schema','performance_schema','sys');
結(jié)果如下:

查詢出來的結(jié)果拷貝出來,去掉最后一行的 union all

匯總

到此這篇關于MySQL數(shù)據(jù)庫實現(xiàn)統(tǒng)計所有表的空間占用與行數(shù)的文章就介紹到這了,更多相關MySQL統(tǒng)計表空間占用與行數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SQL中CAST()實例之轉(zhuǎn)換數(shù)據(jù)類型
CAST函數(shù)用于將某種數(shù)據(jù)類型的表達式顯式轉(zhuǎn)換為另一種數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關于SQL中CAST()實例之轉(zhuǎn)換數(shù)據(jù)類型的相關資料,需要的朋友可以參考下2023-01-01
解決Java程序使用MySQL時返回參數(shù)為亂碼的示例教程
這篇文章主要介紹了解決Java程序使用MySQL返回參數(shù)為亂碼的問題的教程,通過示例來講解utf-8編碼在MySQL中的相關配置,示例需要的朋友可以參考下2015-12-12
MySQL中Buffer?Pool內(nèi)存結(jié)構(gòu)詳情
這篇文章主要介紹了MySQL中Buffer?Pool內(nèi)存結(jié)構(gòu)詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09
mysql多條數(shù)據(jù)合并成一條的3種常見方法
在實際的應用開發(fā)中,有時我們需要將多條數(shù)據(jù)合并成一條數(shù)據(jù),以便更好地進行數(shù)據(jù)分析和處理,本文就來介紹一下mysql多條數(shù)據(jù)合并成一條的方法,具有一定的參考價值2023-10-10

