查询数据库每张表的记录数和数据大小的方法(不含索引)

1、手残方法

自己写脚本,不会利用元数据表和只会简单sql的解决办法:

# cat loop_db_tables.sh
#!/bin/bashdbnames=`mysql -uroot -ppassword  -e "show databases;"`
for dbname in $dbnames
do# 由于是借用了shell,所以需要处理输出文本"Database",以及不需要查询的元数据库和测试库。if [ $dbname == "Database" -o $dbname == "information_schema" -o $dbname == "mysql" -o $dbname == "sys" -o $dbname == "test"  -o $dbname == "apollo" ]thenecho $dbname;elsetbls=`mysql -uroot -ppassword -S /export/servers/data/my3306/run/mysqld.sock -e "use $dbname; show tables"`for table in $tblsdo# 同理 ,这里的"Tables_in_apolloconfigdb"也是shell输出文本if [ $table != "Tables_in_apolloconfigdb" ];thentbl_status=`mysql -uroot -ppassword -S /export/servers/data/my3306/run/mysqld.sock -e "use $dbname; show table status like '$table';"`#根据 show table status like "table_name"的结果过滤data_length=`echo $tbl_status | awk '{print $25}'`# 数据长度转换成KB,默认是Bytedata_length_kb=$((data_length/1024))index_length=`echo $tbl_status | awk '{print $27}'`# 打印结果echo "=====DB Name: "$dbname "   -----Table Name: "$table "     ======Data Length: "$data_length "--+-+-+-+--"$index_lengthecho $dbname      $table  $data_length_kbfidonefi
done

哈哈哈,看完自己写的脚本,想哭的心都有,脚本搞完,还要用文本处理器处理一下,才能用。
会python的可以直接写进excel表里面,比shell省事儿。

2、干爽方法

直接上sql:

SELECT COALESCE    ( bb.表名, '汇总' ) AS "表名",    bb.记录数,    bb.数据容量(MB),    bb.索引容量(MB) FROM    (SELECT    aa.表名,    sum( AA.记录数 ) AS "记录数",    sum( AA.数据容量(MB) ) AS "数据容量(MB)",    sum( AA.索引容量(MB) ) AS "索引容量(MB)" FROM    (SELECT    table_schema "数据库",    table_name AS "表名",    table_rows AS "记录数",    TRUNCATE ( data_length / 1024 , 2 ) / 1024 AS "数据容量(MB)",    TRUNCATE ( index_length / 1024 , 2 ) / 1024 AS "索引容量(MB)" FROM    information_schema.TABLES WHERE    table_schema = 'Your_db_name' ORDER BY    data_length DESC,    index_length DESC     ) AA GROUP BY    aa.表名 WITH ROLLUP     ) bb ORDER BY    bb.数据容量(MB) DESC,    bb.索引容量(MB) DESC;

把里面的Your_db_name 改成自己的数据库名称即可。

sql的方法是别的大神写的,我反正是写不出来。
参考链接: 如何查找出MYSQL数据库数据、索引的占用空间?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git commit rule

git commit rule feat: 新功能 fix: bug修复 docs: 仅文档更改 style: 不影响代码含义的更改(空白、格式设置、缺失 分号等) refactor: 既不修复bug也不添加特性的代码更改 perf: 改进性能的代码更改 test: 添加缺少的测试或更正现有测试 chore: 对构建…

【学习笔记】Windows GDI绘图(十三)动画播放ImageAnimator(可调速)

文章目录 前言定义方法CanAnimate 是否可动画显示Animate 动画显示多帧图像UpdateFramesStopAnimate终止动画Image.GetFrameCount 获取动画总帧数Image.GetPropertyItem(0x5100) 获取帧延迟 自定义GIF播放(可调速) 前言 在前一篇文章中用到ImageAnimator获取了GIF动画的一些属…

vue3 监听器,组合式API的watch用法

watch函数 在组合式 API 中,我们可以使用 watch 函数在每次响应式状态发生变化时触发回调函数 watch(ref,callback(newValue,oldValue),option:{}) ref:被监听的响应式量,可以是一个 ref (包括计算属性)、一个响应式…

STM32—按键控制LED(定时器)

目录 1 、 电路构成及原理图 2 、编写实现代码 main.c exit.c 3、代码讲解 4、烧录到开发板调试、验证代码 5、检验效果 此笔记基于朗峰 STM32F103 系列全集成开发板的记录。 1 、 电路构成及原理图 EXTI(External interrupt/event controller&#xff…

查询SQL02:寻找用户推荐人

问题描述 找出那些 没有被 id 2 的客户 推荐 的客户的姓名。 以 任意顺序 返回结果表。 结果格式如下所示。 题目分析: 这题主要是要看这null值会不会用,如果说Java玩多了,你去写SQL时就会有问题。在SQL中判断是不是null值用的是is null或…

泛微开发修炼之旅--10基于Ecology实现附件上传,并将上传后的文件id存入表单附件控件中的示例及源码

文章链接:泛微开发修炼之旅--10基于Ecology实现附件上传,并将上传后的文件id存入表单附件控件中的示例及源码

tomcat10部署踩坑记录-公网IP和服务器系统IP搞混

1. 服务器基本条件 使用的阿里云服务器,镜像系统是Ubuntu16.04java version “17.0.11” 2024-04-16 LTS装的是tomcat10.1.24阿里云服务器安全组放行了:8080端口 服务器防火墙关闭: 监听情况和下图一样: tomcat正常启动&#xff…

MySQL进阶——索引使用规则

在上篇文章我们学习了MySQL进阶——索引,这篇文章学习MySQL进阶——索引使用规则。 索引使用规则 在使用索引时,需要遵守一些使用规则,否则索引会部分失效或全部失效。 最左前缀法则 最左前缀法则是查询从索引的最左列开始,并…

Vxe UI vxe-form 实现折叠表单,当表单很多时实现自动收起与展开

Vxe UI vue vxe-form 实现折叠表单&#xff0c;当表单很多时实现自动收起与展开 代码 folding 用于将当前表单项设置为默认隐藏 collapse-node 设置折叠按钮&#xff0c;加上之后会自动在该表单项的右侧显示一个折叠按钮 <template><div><vxe-formtitle-colo…

谷歌上架防关联,打包环境到底是不是关联因素之一?

在Google play上架应用&#xff0c;防关联是开发者们最关注的问题之一&#xff0c;只要开发者账号被谷歌审核系统与其它违规的开发者账号或应用存在关联&#xff0c;就很有可能被封号。 如果账号被封了&#xff0c;通常谷歌的封号通知邮件里只是写了因为关联或高风险、多次违规…

kafka-生产者拦截器(SpringBoot整合Kafka)

文章目录 1、生产者拦截器1.1、创建生产者拦截器1.2、KafkaTemplate配置生产者拦截器1.3、使用Java代码创建主题分区副本1.4、application.yml配置----v1版1.5、屏蔽 kafka debug 日志 logback.xml1.6、引入spring-kafka依赖1.7、控制台日志 1、生产者拦截器 1.1、创建生产者拦…

BeanDefinitionReader接口,Spring加载Bean的过程(非常流畅和容易理解)(Spring源码分析1)

一、前言 前言部分&#xff0c;介绍Spring框架的工作和大致原理&#xff0c;有基础的小伙伴可以跳过。 我们现在最常使用的开发框架SSM&#xff0c;分别是Spring、Spring MVC和Mybatis&#xff0c;其功能已经超出原生Spring非常多&#xff0c;所以想学习Spring原理&#xff0c;…

算法题 — 可可喜欢吃香蕉(二分查找法)

可可喜欢吃香蕉。这里有 n 堆香蕉&#xff0c;第 i 堆中有 piles[i] 根香蕉。警卫已经离开&#xff0c;将在 H 小时后回来。 可可可以决定它吃香蕉的速度为 speed (单位&#xff1a;根/小时)。每个小时&#xff0c;可可都会选择一堆香蕉&#xff0c;并吃掉 speed 根。如果这堆…

大漠插件7.2422

工具名称:大漠插件7.2422 /更新时间2024年6月2日 / v7.2422 1. 综合工具的图像编辑工具可以缩放窗口了 2. 增加AiFindPic AiFindPicEx AiFindPicMem AiFindPicMemEx AiEnableFindPicWindow 共5个接口 / 工具简介: 大漠 综合 插件 (dm.dll)采用vc6.0编写&#xff0c;识别速度超级…

TMS320F280049学习2:点灯

TMS320F280049学习2&#xff1a;点灯 文章目录 TMS320F280049学习2&#xff1a;点灯一、工程代码二、代码解释1.Device_initGPIO()2.EINT、DINT3.ERTM、DRTM 总结 一、工程代码 #include "driverlib.h" #include "device.h"#define DRV_LED2_PIN …

【Numpy】04 深入理解NumPy的高级索引技术

掌握NumPy&#xff1a;从新手到高手的数组操作之旅 前言 前面【Numpy】03 数组的切片和索引操作深入详解的切片和索引操作只能索引出有规律的元素数据&#xff0c;比如同轴向&#xff0c;若要索引如下元素则无法实现&#xff0c;下面就介绍数组的高级索引&#xff08;花式索引…

Java 初识

Java 的发展历程 Sun 公司。 Oracle 公司。 普通版本&#xff0c;也叫过渡版本。 正式版本&#xff0c;也叫长期支持版本&#xff08;LTS&#xff09;。 Java SE&#xff0c;Java EE&#xff0c;Java ME Java 技术体系分为三个平台&#xff1a;Java SE&#xff0c;Java EE&a…

EasyExcel导出多个sheet封装

导出多个sheet 在需求中&#xff0c;会有需要导出多种sheet的情况&#xff0c;那么这里使用easyexcel进行整合 步骤 1、导入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><d…

多尺度注意力创新

深度之眼17种多尺度注意力创新

西门子PLC学习之数据块的单个实例,多重实例与参数实例间的区别

首先介绍下函数&#xff0c;函数块与数据块这三个概念。 数据块 数据块里可以存储各种类型的参数。有人可能会问&#xff0c;m寄存器不是可以存储布尔值&#xff0c;8位&#xff0c;16位&#xff0c;32位变量吗&#xff0c;为什么要多此一举&#xff1f;因为虽然m寄存器能存储以…