SELECT TABLE_NAME,DATA_LENGTH,INDEX_LENGTH,(DATA_LENGTH+INDEX_LENGTH) as length,TABLE_ROWS,concat(round((DATA_LENGTH+INDEX_LENGTH)/1024/1024,3), 'MB') as total_size FROM information_schema.TABLES WHERE TABLE_SCHEMA='database_name' order by length desc
說明:
TABLE_NAME :表名字;
DATA_LENGTH : 數據大小;
INDEX_LENGTH :索引大小;
TABLE_ROWS : 記錄數量;
TABLE_SCHEMA : 數據庫名字;
ENGINE:所使用的存儲引擎;
information_schema :
是mysql自帶的,它提供了訪問數據庫元數據的方式,元數據是關於數據的數據,
如數據庫名或表名,列的數據類型,或訪問權限等。有些時候用於表述該信息的其他術語包括“數據詞典”和“系統目錄”。
一個表占用空間的大小,相當於是 數據大小 + 索引大小;