[转帖]TiDB 数据库统计表的大小方法
简介:TiDB统计表的大小,列出了一些方法:
1、第一种的统计方式:
基于统计表 METRICS_SCHEMA.store_size_amplification
要预估 TiDB 中一张表的大小,你可以参考使用以下查询语句:
-
SELECT
-
db_name,
-
table_name,
-
ROUND(SUM(total_size / cnt), 2) Approximate_Size,
-
ROUND(SUM(total_size / cnt / (SELECT
-
ROUND(AVG(value), 2)
-
FROM
-
METRICS_SCHEMA.store_size_amplification
-
WHERE
-
value > 0)),
-
2) Disk_Size
-
FROM
-
(SELECT
-
db_name,
-
table_name,
-
region_id,
-
SUM(Approximate_Size) total_size,
-
COUNT(*) cnt
-
FROM
-
information_schema.TIKV_REGION_STATUS
-
WHERE
-
db_name = @dbname
-
AND table_name IN (@table_name)
-
GROUP BY db_name , table_name , region_id) tabinfo
-
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统计
-
select table_schema,table_name,TABLE_SIZE/1000 from INFORMATION_SCHEMA.TABLE_STORAGE_STATS where table_schema='dba_ml';
-
+--------------+------------+-----------------+
-
| table_schema | table_name | TABLE_SIZE/1000 |
-
+--------------+------------+-----------------+
-
| ff_ml | melon | 164.4330 |
-
+--------------+------------+-----------------+
3 、第三种统计方式:
使用tidb-ctl:
-
tiup ctl:v5.1.3 tidb table disk-usage -d sbtest -t sbtest1
-
Starting component `ctl`: /root/.tiup/components/ctl/v5.1.3/ctl tidb table disk-usage -d sbtest -t sbtest1
-
2624
使用脚本方式:
-
tmp=`mysql -uroot -hxxx -P4000 -Ne "SELECT table_name FROM information_schema.tables where TABLE_SCHEMA='$1'"|while read a ;do echo "$a";done`
-
sum=0
-
for i in $tmp
-
do
-
tablename=`echo $i |cut -d: -f 1`
-
tablesize=`tiup ctl:v5.1.3 tidb table disk-usage -d $1 -t $tablename`
-
sum=$[sum+tablesize]
-
done
-
echo $sum
参考资料:
[转帖]TiDB 数据库统计表的大小方法的更多相关文章
- TiDB数据库 mydumper与loader导入数据
从mysql导出数据最好的方法是使用tidb官方的工具mydumper. 导入tidb最好的方法是使用loader工具,大概19.4G每小时的速度. 详细的步骤可以参考官网:https://pingc ...
- oracle 查询数据库表空间大小和剩余空间
dba_data_files:数据库数据文件信息表.可以统计表空间大小(总空间大小). dba_free_space:可以统计剩余表空间大小. 增加表空间即向表空间增加数据文件,表空间大小就是数据文件 ...
- SQL Server中怎么查看每个数据库的日志大小,以及怎么确定数据库的日志文件,怎么用语句收缩日志文件
一,找到每个数据库的日志文件大小 SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace) DBA 日常管理工作中,很重要一项工作就是监视数据库文件大小,及日志文 ...
- 安装Tidb数据库出现SSD硬盘IOPS不到40000的错误
今天安装tidb数据库出现IOPS过低的问题,这里如果仅仅是测试的话我们可以降低这个值,大概遇到的问题是: 解决方法: 1.我们在中控机的目录下修改某个配置文件: [tidb@:vg_adn_tidb ...
- SQL Server 游标运用:查看数据库所有表大小信息
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:运用游标 方法二:运用系统存储过程 方法三:拼接SQL ...
- SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database)
原文:SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容 ...
- SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database)
原文:SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容(C ...
- Oracle数据库导入与导出方法简述
说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具版本差异引起的问 ...
- 如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法
最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指 ...
- 将Excel数据导入mysql数据库的几种方法
将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...
随机推荐
- SQLServer清空数据库日志
-------SQl2008以上 清空日志-------- USE[master] GO ALTER DATABASE [数据库名称] SET RECOVERY SIMPLE WITH NO_WAIT ...
- js-audio-pluging(录音)
安装 npm i js-audio-recorder 代码 <template> <div class="BaseRecorder"> <div cl ...
- JS模块化编程规范1——require.js
目录 1. 概述 2. 详论 2.1. 定义 2.2. 调用 2.3. 入口 3. 结果 4. 参考 1. 概述 require.js是各种网络APP中非常常见的JS依赖库,它其实不仅仅是个模块加载器 ...
- CoralCache:一个提高微服务可用性的中间件
摘要:当数据库出问题时能降级从本地缓存的数据中查询数据,CoralCache就是这样一个提高微服务可用性的中间件. 背景 有些场景下,微服务依赖数据库中一些配置项或者数量很少的数据,但当数据库本身有问 ...
- Serverless,引领云计算下一个阶段
摘要:Serverless将是微服务的"封顶之作",也是推动应用现代化的基石. 本文分享自华为云社区<[深入浅出,Paas之路]华为云.云享专家曹宗南: Serverless ...
- Go语言逆向技术:恢复函数名称算法
摘要:在对程序做安全审计.漏洞检测时,通常都需要对程序做逆向分析,本文在没有符号表的情况下,提出了一种恢复函数名称的算法,方便对go语言二进制文件进行逆向分析,提升分析效率. 本文分享自华为云社区&l ...
- Java 图片、文件 Base64 互转
Java 图片.文件 Base64 互转 package com.thoth.his.base.util; import java.io.FileInputStream; import java.io ...
- flask 上传文件,视图
记得有template ''' 导入flask类.该类的实例将会成为我们的wsgi应用 __name__是一个适用于大多数情况的快捷方式,有了这个参数,flask才能知道在那里找到模板和静态文件等东西 ...
- python发送邮件+多人+附件 !!!!
import smtplib import os from email.header import Header from email.mime.text import MIMEText # shen ...
- 【HZERO】权限管理
Hzero数据权限介绍 https://open.hand-china.com/community/detail/625872021372407808#3.4 开发建议 Permission注解属性介 ...