首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在MySQL中information_schema.TABLES.DATA_FREE是什么意思?

在MySQL中information_schema.TABLES.DATA_FREE是什么意思?
EN

Stack Overflow用户
提问于 2012-03-16 12:23:05
回答 2查看 26.7K关注 0票数 27

我不完全确定information_schema.TABLES.DATA_FREE在MySQL中是什么意思。

有人能帮我理解一下吗?

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-03-16 14:57:48

DATA_FREE-已分配但未使用的字节数。它是数据库文件相对于存储在数据库文件中的数据的大小。PHPMyAdmin将此信息显示为“表中的开销”。

但是,对于InnoDB来说,这一点很重要-- "InnoDB表报告表所属表空间的空闲空间。对于位于共享表空间中的表,这是共享表空间的空闲空间。“因此,使用典型的InnoDB设置(未设置‘innondb_file_per_table’),您将获得所有表的可用空间,而不是单个表的空闲空间。

参考:http://dev.mysql.com/doc/refman/5.5/en/tables-table.htmlhttp://dev.mysql.com/doc/refman/5.5/en/show-table-status.html

票数 11
EN

Stack Overflow用户

发布于 2012-03-16 13:39:09

使用innodb_file_per_table=OFF,所有InnoDB表都存储在相同的表空间中。为该单个表空间报告DATA_FREE (已分配但未使用的字节数)。

阅读http://dev.mysql.com/doc/refman/5.0/en/innodb-file-space.html

通过发出SHOW TABLE STATUS语句请求表空间中的可用空间时,InnoDB将报告表空间中绝对可用的扩展区。InnoDB始终保留一些扩展区用于清理和其他内部用途;这些保留的扩展区不包括在可用空间中。

因此,对于InnoDB表,报告表空间中的空闲空间,并且由于所有表共享相同的表空间,因此结果是相同的值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9731853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档