我在解释MySql 5.5
数据库中的以下统计数据时遇到了麻烦。
也许相关的侧面信息:一些表包含TEXT
和MEDIUMTEXT
列,其中大约50%
有空值。我做optimize
了占用大部分空间的桌子。
问题: 我是如何从 Mysql 文档中理解 data_free 的:分配的空间由
DDL
但当前未使用 - 所以基本上是行中的空值。这种解释是否正确,如果不正确,它是如何准确定义的?问题: 我不明白 data_free 怎么能比索引和数据长度加起来更大
select (sum(data_length) + sum(INDEX_LENGTH))/ 1024 / 1024 as total,
sum(data_free)/ 1024 / 1024 as free ,
sum(data_length)/ 1024 / 1024 as data,
sum(INDEX_LENGTH/ 1024 / 1024) as index_data
from information_schema.tables t
where t.TABLE_SCHEMA = 'foo'
结果:
total | free | data | index_data
19.5469 20.0000 18.1875 1.3594
所以我有20MB data_free
和19.5MB data+index
。这个怎么可能?
谢谢