MySQL數(shù)據(jù)庫查看數(shù)據(jù)表占用空間大小和記錄數(shù)的方法

字號:


    如果想知道MySQL數(shù)據(jù)庫中每個(gè)表占用的空間、表記錄的行數(shù)的話,可以打開MySQL的 information_schema 數(shù)據(jù)庫。在該庫中有一個(gè) TABLES 表,這個(gè)表主要字段分別是:
    TABLE_SCHEMA : 數(shù)據(jù)庫名
    TABLE_NAME:表名
    ENGINE:所使用的存儲引擎
    TABLES_ROWS:記錄數(shù)
    DATA_LENGTH:數(shù)據(jù)大小
    INDEX_LENGTH:索引大小
    其他字段請參考MySQL的手冊,這幾個(gè)字段對我們來說最有用。
    一個(gè)表占用空間的大小,相當(dāng)于是 數(shù)據(jù)大小 + 索引大小,
    示例:
    1.想查看hx庫的所有表大小,可以使用:
    代碼如下:
    SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='hx';
    +-------------------+--------------------------+------------+
    | TABLE_NAME | DATA_LENGTH+INDEX_LENGTH | TABLE_ROWS |
    +-------------------+--------------------------+------------+
    | enjoy_data | 6979584 | 70113 |
    | hx_record | 113410048 | 753279 |
    | itlearner_record | 21835546624 | 104917777 |
    | tmp_day_id | 17326 | 811 |
    +-------------------+--------------------------+------------+
    2.想查看hx庫的enjoy表大小,可以使用:
    代碼如下:
    SELECT DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='hx' AND TABLE_NAME = 'enjoy_data';
    返回:
    代碼如下:
    +--------------------------+------------+
    | DATA_LENGTH+INDEX_LENGTH | TABLE_ROWS |
    +--------------------------+------------+
    | 6979584 | 70113 |
    +--------------------------+------------+