如何通过查询InformationSchema表了解MySQL中特定表的磁盘使用量?

2026-04-30 13:501阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计839个文字,预计阅读时间需要4分钟。

如何通过查询InformationSchema表了解MySQL中特定表的磁盘使用量?

MySQL 没有直接的 `SHOW TABLE SIZE` 命令,实际有效的办法只有查询 `INFORMATION_SCHEMA.TABLES`。这里,`DATA_LENGTH` 和 `INDEX_LENGTH` 字段加起来即为该表实际占用的磁盘字节数(不含碎片、undo log、binlog)。

注意:这个视图的数据是「采样值」,不是实时精确值——InnoDB 会定期更新统计信息,所以刚删完大量数据后,数值可能滞后几分钟。如果要强制刷新,可执行 ANALYZE TABLE table_name

DATA_LENGTHINDEX_LENGTH 分别代表什么

DATA_LENGTH 是表数据页(B+树叶子节点)占用的字节数;INDEX_LENGTH 是所有二级索引(非聚簇索引)页的字节数。主键索引已计入 DATA_LENGTH(因为 InnoDB 聚簇表数据即主键)。

阅读全文
标签:Mysql

本文共计839个文字,预计阅读时间需要4分钟。

如何通过查询InformationSchema表了解MySQL中特定表的磁盘使用量?

MySQL 没有直接的 `SHOW TABLE SIZE` 命令,实际有效的办法只有查询 `INFORMATION_SCHEMA.TABLES`。这里,`DATA_LENGTH` 和 `INDEX_LENGTH` 字段加起来即为该表实际占用的磁盘字节数(不含碎片、undo log、binlog)。

注意:这个视图的数据是「采样值」,不是实时精确值——InnoDB 会定期更新统计信息,所以刚删完大量数据后,数值可能滞后几分钟。如果要强制刷新,可执行 ANALYZE TABLE table_name

DATA_LENGTHINDEX_LENGTH 分别代表什么

DATA_LENGTH 是表数据页(B+树叶子节点)占用的字节数;INDEX_LENGTH 是所有二级索引(非聚簇索引)页的字节数。主键索引已计入 DATA_LENGTH(因为 InnoDB 聚簇表数据即主键)。

阅读全文
标签:Mysql