1. 程式人生 > >Mysql資料庫及表空間佔用資訊統計

Mysql資料庫及表空間佔用資訊統計

1、mysql中檢視各表的大小
這裡用到一個表, information_schema.tables;對應主要欄位含義如下:
ABLE_SCHEMA : 資料庫名
TABLE_NAME:表名
ENGINE:所使用的儲存引擎
TABLES_ROWS:記錄數
DATA_LENGTH:資料大小
INDEX_LENGTH:索引大小

按記錄資料統計:

select table_schema,table_name,table_rows from tables order by table_rows desc;

2、查詢所有資料庫佔用磁碟空間大小的SQL語句

select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,
concat(truncate(sum(index_length)/1024/1024,2),' MB') as index_size
from information_schema.tables
group by TABLE_SCHEMA
order by data_length desc;

3、查詢單個庫中所有表磁碟佔用大小的SQL語句

select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size,
concat(truncate(index_length/1024/1024,2),' MB') as index_size
from information_schema.tables where TABLE_SCHEMA = 'sor'
group by TABLE_NAME
order by data_length desc;

4、檢視一個庫中的使用情況

SELECT CONCAT(table_schema,'.',table_name) AS 'Table Name',
 CONCAT(ROUND(table_rows/1000000,4),'M') AS 'Number of Rows', 
 CONCAT(ROUND(data_length/(1024*1024*1024),4),'G') AS 'Data Size', 
 CONCAT(ROUND(index_length/(1024*1024*1024),4),'G') AS 'Index Size', 
 CONCAT(ROUND((data_length+index_length)/(1024*1024*1024),4),'G') AS 'Total' 
FROM information_schema.TABLES 
WHERE table_schema LIKE 'src';