简介:TiDB统计表的大小,列出了一些方法:

1、第一种的统计方式:

基于统计表 METRICS_SCHEMA.store_size_amplification

要预估 TiDB 中一张表的大小,你可以参考使用以下查询语句:


  1. SELECT
  2. db_name,
  3. table_name,
  4. ROUND(SUM(total_size / cnt), 2) Approximate_Size,
  5. ROUND(SUM(total_size / cnt / (SELECT
  6. ROUND(AVG(value), 2)
  7. FROM
  8. METRICS_SCHEMA.store_size_amplification
  9. WHERE
  10. value > 0)),
  11. 2) Disk_Size
  12. FROM
  13. (SELECT
  14. db_name,
  15. table_name,
  16. region_id,
  17. SUM(Approximate_Size) total_size,
  18. COUNT(*) cnt
  19. FROM
  20. information_schema.TIKV_REGION_STATUS
  21. WHERE
  22. db_name = @dbname
  23. AND table_name IN (@table_name)
  24. GROUP BY db_name , table_name , region_id) tabinfo
  25. GROUP BY db_name , table_name;
  • store_size_amplification 表示集群压缩比的平均值。除了使用 SELECT * FROM METRICS_SCHEMA.store_size_amplification; 语句进行查询以外,你还可以查看 Grafana 监控 PD - statistics balance 面板下各节点的 Size amplification 指标来获取该信息,集群压缩比的平均值即为所有节点的 Size amplification 平均值。
  • Approximate_Size 表示压缩前表的单副本大小,该值为估算值,并非准确值。
  • Disk_Size 表示压缩后表的大小,可根据 Approximate_Size 和 store_size_amplification 得出估算值。

2、第二种统计方式:

基于INFORMATION_SCHEMA.TABLE_STORAGE_STATS统计


  1. select table_schema,table_name,TABLE_SIZE/1000 from INFORMATION_SCHEMA.TABLE_STORAGE_STATS where table_schema='dba_ml';
  2. +--------------+------------+-----------------+
  3. | table_schema | table_name | TABLE_SIZE/1000 |
  4. +--------------+------------+-----------------+
  5. | ff_ml | melon | 164.4330 |
  6. +--------------+------------+-----------------+

3 、第三种统计方式:

使用tidb-ctl:


  1. tiup ctl:v5.1.3 tidb table disk-usage -d sbtest -t sbtest1
  2. Starting component `ctl`: /root/.tiup/components/ctl/v5.1.3/ctl tidb table disk-usage -d sbtest -t sbtest1
  3. 2624

使用脚本方式:


  1. tmp=`mysql -uroot -hxxx -P4000 -Ne "SELECT table_name FROM information_schema.tables where TABLE_SCHEMA='$1'"|while read a ;do echo "$a";done`
  2. sum=0
  3. for i in $tmp
  4. do
  5. tablename=`echo $i |cut -d: -f 1`
  6. tablesize=`tiup ctl:v5.1.3 tidb table disk-usage -d $1 -t $tablename`
  7. sum=$[sum+tablesize]
  8. done
  9. echo $sum

参考资料:

TiDB 集群管理常见问题 | PingCAP Docs

TiDB 统计数据库占用大小的N种方法 - 墨天轮

文章知识点与官方知识档案匹配,可进一步学习相关知识

[转帖]TiDB 数据库统计表的大小方法的更多相关文章

  1. TiDB数据库 mydumper与loader导入数据

    从mysql导出数据最好的方法是使用tidb官方的工具mydumper. 导入tidb最好的方法是使用loader工具,大概19.4G每小时的速度. 详细的步骤可以参考官网:https://pingc ...

  2. oracle 查询数据库表空间大小和剩余空间

    dba_data_files:数据库数据文件信息表.可以统计表空间大小(总空间大小). dba_free_space:可以统计剩余表空间大小. 增加表空间即向表空间增加数据文件,表空间大小就是数据文件 ...

  3. SQL Server中怎么查看每个数据库的日志大小,以及怎么确定数据库的日志文件,怎么用语句收缩日志文件

    一,找到每个数据库的日志文件大小 SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace) DBA 日常管理工作中,很重要一项工作就是监视数据库文件大小,及日志文 ...

  4. 安装Tidb数据库出现SSD硬盘IOPS不到40000的错误

    今天安装tidb数据库出现IOPS过低的问题,这里如果仅仅是测试的话我们可以降低这个值,大概遇到的问题是: 解决方法: 1.我们在中控机的目录下修改某个配置文件: [tidb@:vg_adn_tidb ...

  5. SQL Server 游标运用:查看数据库所有表大小信息

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:运用游标 方法二:运用系统存储过程 方法三:拼接SQL ...

  6. SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database)

    原文:SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容 ...

  7. SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database)

    原文:SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容(C ...

  8. Oracle数据库导入与导出方法简述

    说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具版本差异引起的问 ...

  9. 如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法

    最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指 ...

  10. 将Excel数据导入mysql数据库的几种方法

    将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...

随机推荐

  1. Baby_Step_Gaint_Step(BSGS) 算法

    \(BSGS\) 算法,又称 "北(\(B\))上(\(S\))广(\(G\))深(\(S\))" 算法,"拔山盖世"算法,可以在 \(O(\sqrt{n})\ ...

  2. 【K8S系列】如何高效查看 k8s日志

    序言 你只管努力,其他交给时间,时间会证明一切. 文章标记颜色说明: 黄色:重要标题 红色:用来标记结论 绿色:用来标记一级论点 蓝色:用来标记二级论点 Kubernetes (k8s) 是一个容器编 ...

  3. 共探AI大模型时代下的挑战与机遇,华为云HCDE与大模型专家面对面

    摘要:近日,华为开发者大会2023(cloud)"开发者生态创新发展圆桌会议"在东莞华为溪流背坡村成功举办. 2023年7月8日,华为开发者大会2023(cloud)"开 ...

  4. CartoonGAN论文复现:如何将图像动漫化

    摘要:本案例是 CartoonGAN: Generative Adversarial Networks for Photo Cartoonization的论文复现案例. 本文分享自华为云社区<c ...

  5. 洞见商业新机,云原生数据库GaussDB让企业决策更科学

    摘要:华为云GaussDB(for Redis)为数位科技打造了一个稳定可靠.高效安全.卓越性能的大数据引擎,KV存储降本80%,助力实体企业数字化转型之路走的更加稳健. 本文分享自华为云社区< ...

  6. 智能学习灯赛道竞争日趋激烈 火山引擎 VeDI 用数据技术助力打造新优势

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 智能学习灯的赛道正变得越来越拥挤. 2021 年 3 月 2 日,腾讯教育联合暗物智能科技联合发布"AILA 智 ...

  7. No compiler detected, make sure you are running on top of a JDK instead of a JRE

    Java 调 webservice 报如下错误 [2023-11-07 17:01:02.315] ERROR [scheduling-1] ToHisApiImpl.java:106 - No co ...

  8. JQuery 弹出模态窗口

    index.html <!DOCTYPE html> <html> <head> <!-- Contact Form CSS files --> < ...

  9. PPT 动画-莲花绽放

    画两圆,合并形状 -> 相交 复制8个图片,一共9片 旋转 最后动画 -> 平滑

  10. C# Winform 自定义窗口,最大化遮住任务栏

    解决 C# Winform 自定义窗口,最大化遮住任务栏 的问题,可以通过获取屏幕大小来控制最大值,来实现,代码如下 Rectangle ScreenArea = System.Windows.For ...