开发者社区> 问答> 正文

PolarDB MySQL如何查看单个索引的占用空间

已解决

PolarDB MySQL如何查看单个索引的占用空间

展开
收起
提个问题 2024-06-08 19:12:38 27 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    PolarDB MySQL支持通过统计信息近似计算单个索引的空间占用情况。
        在mysql库的innodb_index_stats表中,会统计索引所使用pages数目。同时,通过innodb_page_size参数可以得到当前实例单个page的大小。综合上述信息,可以近似计算得到单个索引的空间占用信息。
        如下是一个简单的SQL示例,用于近似计算test.t1表的索引空间占用情况。
    mysql> SELECT
        ->   database_name,
        ->   table_name,
        ->   index_name,
        ->   concat(stat_value * @@innodb_page_size, " Bytes") index_size
        -> FROM
        ->   mysql.innodb_index_stats
        -> WHERE
        ->   database_name = 'test'
        ->   and table_name = 't1'
        ->   and stat_name = 'size'
        ->   and stat_description = 'Number of pages in the index'
        -> ORDER BY
        ->   database_name,
        ->   table_name,
        ->   index_name,
        ->   index_size;
    +---------------+------------+-----------------+-------------+
    | database_name | table_name | index_name      | index_size  |
    +---------------+------------+-----------------+-------------+
    | test          | t1         | GEN_CLUST_INDEX | 16384 Bytes |
    +---------------+------------+-----------------+-------------+
    1 row in set (0.00 sec)
    2024-06-08 19:12:39
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像