TiDB如何查看每个库的大小

  • TiDB 版本】 3.0+

https://github.com/pingcap/tidb/issues/7468
这里有一个 issue 是通过 information_schema 查看

另外,用 tidb-ctl 工具,这里
https://github.com/pingcap/tidb-ctl/blob/master/doc/tidb-ctl_table_disk-usage.md

tidb-ctl 工具是访问 tidb http api 实现的,如果直接用 http api 的话
是这个接口
https://github.com/pingcap/tidb/blob/master/server/http_status.go#L102

3 个赞

和 MySQL 类似,可以通过统计信息进行进行估算,但这种方式会依赖统计信息,不是很准确; 类似如下:select sum(averge_length * rows )/1024/1024 from information_schema.tables group by schema;

另外,因为 TiDB 不像 Innodb 每个表有独立表空间/文件,所有不能通过 data 目录来进行判断。

infoschema 是从统计信息中收集到的估算实现的

tidb-ctl 工具是由 tikv 上报大致的 region 大小给到 pd,然后在 tidb 里面用 table 跟 region 的映射关系估计 table 大小,最后 tidb 提供 http api 给 tidb-ctl 的方式实现的

这里的估计不考虑副本情况吧?只是一个副本的大小?

应该是的,只计算一个副本了

HTTP 接口返回存储大小是单副本的大小,是否包含表上索引的大小,单位是是M还是G

单位应该是M 数据统计我测试了应该是包含索引的。

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