统计表大小

【 TiDB 使用环境】生产环境 or 测试环境 or POC
【 TiDB 版本】
【遇到的问题】
tidb版本:4.0.6

统计一个表的大小,使用如下方法是否准确:
SELECT (DATA_LENGTH+INDEX_LENGTH)/1024/1024 AS ‘tablesize(MB)’
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema=‘db_name’
AND table_name =‘table_name’;

是否还有其他更准确的方法呢?
【复现路径】做过哪些操作出现的问题
【问题现象及影响】

【附件】

请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。

没有合适的方法计算表大小,官方有个计算方法 不过也不太准,各种变量条件太多
https://docs.pingcap.com/zh/tidb/stable/manage-cluster-faq#如何预估-tidb-中一张表的大小

1 个赞

你发的这个链接,不适用4.0.6版本吧。

那平时统计一个表大小,咋弄呀

我统计的话会把表的region大小和总region大小计算一个比例,然后在看总体大小和计算的比例当表占用的空间大小。

看不太明白你说的意思

1、从tikv_region_status里获取某个表的region 占整体region的比例
2、 用这个比例和监控中的使用总大小相乘,然后在除以副本数,就是这个表占的空间大小

一直用的FROM INFORMATION_SCHEMA.TABLES;这个方式,我觉得前提还得是统计信息准。

统计之前做个表分析。

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。