有時候因工作需要我們需要知道MySQL數據庫中某個表占用的空間大小,那這個該如何操作呢?其實很簡單,你是否留意到了所有數據庫都會附帶一個似乎從來沒有用過的 information_schema 數據庫?這個數據庫有什麼用我們就不說了,但是查看某個表占用的空間大小卻是要通過這個數據庫來查看的。
首先打開MySQL的 information_schema 數據庫,在這個數據庫中找到 TABLES 表,這個表主要字段有:
TABLE_SCHEMA : 數據庫名
TABLE_NAME:表名
ENGINE:所使用的存儲引擎
TABLES_ROWS:記錄數
DATA_LENGTH:數據大小
INDEX_LENGTH:索引大小
當然還有其他一些字段,詳情可以查閱 MySQL 的官方手冊。
那麼如果需要知道一個表占用空間的大小,結果就是上表字段中的 數據大小 + 索引大小 就是了。也可以用如下 SQL 語句查詢:
SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM TABLES WHERE TABLE_SCHEMA='數據庫名' AND TABLE_NAME='表名';