【发布时间】:2019-03-17 00:06:43
【问题描述】:
我正在尝试获取使用 MyRocks 存储引擎的表在磁盘上占用的空间,但我得到的结果与我所期望的、information_schema 上的查询和操作系统报告的大小不一致。
为了获得 MariaDB 报告的大小,我使用以下 select 语句:
select table_name 'Table Name',
(data_length+index_length)/power(1024,3) 'Table Size in GB'
from information_schema.tables where table_schema="MyTableName";
对于我正在做的事情,它返回一个非常小的数字,以至于我怀疑它是否报告了实际大小(0.4GB 用于 4 000 000 行,包含大量文本)。
如果我运行命令du -h /var/lib/mysql/#rocksdb/,我将获得 2.4GB 的磁盘大小,这比我预期的要大一些。但是,如果我理解正确,MyRocks 会在插入数据时压缩数据,因此du 命令报告的磁盘空间可能不代表实际的表大小。
那么,有没有可靠的方法来获取表格的大小?我是否已经使用正确的方法来获取表格大小?
【问题讨论】:
标签: mysql mariadb rocksdb storage-engines