MySQL 看库大表

MySQL 看库大表

在MySQL中查看数据库中的“大表”(即数据量大的表),主要是为了识别可能影响数据库性能的表。有几种方法可以帮助你找出这些表:

  1. 通过 INFORMATION_SCHEMA 数据库
    MySQL的INFORMATION_SCHEMA数据库包含了数据库的元数据,你可以通过查询TABLES表来获取每个表的大小信息:

sql

SELECT TABLE_SCHEMA as `Database`, TABLE_NAME AS `Table`, ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS `Size (MB)` 
FROM information_schema.TABLES 
ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC 
LIMIT 10;

这个查询会列出大小最大的前10个表,包括它们的数据库名、表名和大小(以MB为单位)。

  1. 使用 SHOW TABLE STATUS 命令
    这个命令也可以给出表的大小信息,但是它是基于当前数据库的:
SHOW TABLE STATUS FROM your_database_name LIKE '%';

你需要替换your_database_name为实际的数据库名。这将列出该数据库中所有表的状态信息,包括表的大小。

  1. 第三方工具
    还有一些第三方工具和服务,比如 phpMyAdmin 或 MySQL Workbench,它们提供了图形界面来查看和管理MySQL数据库。这些工具通常也会提供查看数据库大小和表大小的功能。

  2. 脚本和自动化工具
    对于更复杂的分析,你可能需要写脚本(使用Shell脚本、Python等)来自动收集和汇总数据库的大小信息。这些脚本可以定期运行,并把报告发送到你的邮箱或存储在某个位置以供后续分析。

注意事项
性能影响:运行这些查询可能会对数据库性能产生影响,特别是在生产环境中。建议在低峰时段运行它们。
定期检查:数据库的使用情况可能会随时间变化,定期检查大表可以帮助你及时发现潜在的性能问题。
优化策略:发现大表后,可以考虑对它们进行优化,比如归档旧数据、分区表、优化索引等策略,以提高数据库的性能和响应速度。

查询显示某些表“没有数据”可能有几种解释,具体取决于你所指的“没有数据”的含义。这里有一些可能的情况和解释:

  1. 表确实是空的
    “没有数据”可能意味着这些表当前确实没有存储任何行。即使表在information_schema.TABLES中显示有大小,这个大小可能代表的是表的结构定义、索引或是最小的空间分配,并不一定意味着表中含有数据行。

  2. 最小空间分配
    在某些数据库管理系统中,即使表中没有数据,表和索引也可能会占用一定的磁盘空间。这是因为数据库系统可能会为表和索引分配最小的初始空间,或者保留已经删除数据的空间以供将来使用。

  3. 元数据延迟更新
    information_schema.TABLES中的数据来自于数据库的元数据信息,这些信息可能不会实时更新。特别是在高并发环境中,或者是在某些数据库配置下,元数据的更新可能会有延迟。

  4. 索引占用空间
    即使表中没有数据,相关的索引结构也可能占用空间。在DATA_LENGTHINDEX_LENGTH的计算中,INDEX_LENGTH代表索引占用的空间,即便数据行数为0,如果表定义了索引,INDEX_LENGTH也可能是一个正值。

  5. 删除数据但未压缩表
    如果之前表中有数据并进行了删除操作,而没有执行相应的压缩或优化表的操作(如OPTIMIZE TABLE),表的大小可能不会立即减少,因为物理空间没有被释放回文件系统。

解决方案和建议
如果需要确保表中确实没有数据,可以直接对疑问表执行SELECT COUNT(*) FROM table_name;来获取行数。
对于确实不包含数据但仍显示有大小的表,考虑执行OPTIMIZE TABLE table_name;(对于MyISAM和InnoDB表)以回收未使用的空间,并可能更新元数据统计信息。
总之,“没有数据”但表显示有大小的情况,可能由于多种原因,包括表的最小空间占用、索引空间、元数据更新策略等。

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

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

相关文章

M芯片 mac配置Vulkan环境报错 Xcode

报错: Ignoring file ‘/usr/local/Cellar/glfw/3.3.4/lib/libglfw.3.3.dylib’: found architecture ‘x86_64’, required architecture ‘arm64’ Undefined symbols: Linker command failed with exit code 1 (use -v to see invocation) 解决:重新安…

linux 命令行下的计算器

!!! author 文章目录 1. echo 运算器, 推荐2. bc 计算器, 不推荐3. dc 计算器, 不推荐4. awk计算器. 推荐5. python. 推荐 1. echo 运算器, 推荐 限制是仅能在整数运算时使用 $ echo $((10534)) 70 优点,输入简洁, 支持运算表达式,支持16进制,10进制混合输入. 缺点,不支持浮点…

申请GeoTrust数字证书

GeoTrust介绍: 大家应该都不陌生,作为最老资格的一批国际大牌证书,GeoTrust的品牌效益和使用群体非常庞大。在数字证书领域也是当之无愧的龙头地位,作为Symantec和Digicert的子品牌,证书安全性能方面毋庸置疑&#xf…

IP SSL证书注册流程

使用IP地址申请SSL证书,需要用公网IP地址申请,申请之前确保直接的IP地址可以开放80或者443端口两者选择1个就好,端口不需要一直开放,只要认证的几分钟内开放就可以了,然后IP地址根目录可以上传txt文件。 IP SSL证书认…

搭建服务器 - 笔记

1 nginx web服务架构-CSDN博客 大型网站技术架构设计 百度安全验证 2.log分析 GitHub - compilelife/loginsight: loginsight致力于打造一款日志分析的利器 3 远程共享本地知识库 Linux CentOS系统Docker部署Wiki.js并实现远程共享本地知识库 百度安全验证 4 Python 编…

Codeforces Round 800 (Div. 1)C. Keshi in Search of AmShZ 反向dijkstra,并附带权值

Problem - C - Codeforces 目录 题意: 思路: 答疑: 1.为什么反向做呢? 2.为什么是到达点的剩余度数呢? 3.相同路是否可以去重,用个set? 4.如果有多条路相同呢? 参考代码&am…

【SecretFlow——SPU基础】

1.SPU基础 SPU设备在SecretFlow中负责执行MPC计算。 2.代码解读 2.1 创建设备 import secretflow as sf # 如果存在secretflow,先关闭已经存在的环境 sf.shutdown() # 初始化四个参与方 sf.init([alice, bob, carol, dave], addresslocal) # 寻找未占用的端口来…

【YOLOV5 入门】——detect.py简单解析模型检测基于torch.hub的检测方法

声明:笔记是毕设时根据B站博主视频学习时自己编写,请勿随意转载! 一、打开detect.py(文件解析) 打开上节桌面创建的yolov5-7.0文件夹里的detect.py文件(up主使用的是VScode,我这里使用pycharm…

使用vue根据表格内容生成Excel表格并下载

安装file-saver npm install file-saver -S 安装 xlsx npm install xlsx -S 按照element npm i element-ui -Smian里引入element import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css;在页面引入file-saver以及 xlsx import FileSaver …

NLP深入学习:结合源码详解 BERT 模型(三)

文章目录 1. 前言2. 预训练2.1 modeling.BertModel2.1.1 embedding_lookup2.1.2 embedding_postprocessor2.1.3 transformer_model 2.2 get_masked_lm_output2.3 get_next_sentence_output2.4 训练 3. 参考 1. 前言 前情提要: 《NLP深入学习:结合源码详…

PyQt5开发——QCheckBox 复选框用法与代码示例

1. 复选框 QCheckBox 是 Qt 框架中的一个控件,用于在界面中表示一个可以被选中或取消选中的复选框。它通常用于允许用户在多个选项之间进行选择。在 Python 中使用 PyQt 或 PySide 开发 GUI 应用程序时,可以使用 QCheckBox 控件来实现复选框。 2.基本用…

UML类图箭头表示含义:

UML类图箭头表示含义: uml图六种箭头的含义(泛化、实现、依赖、关联、聚合、组合)_组合和聚合的箭头-CSDN博客

[ Linux ] git工具的基本使用(仓库的构建,提交)

1.安装git yum install -y git 2.打开Gitee,创建你的远程仓库,根据提示初始化本地仓库(这里以我的仓库为例) 新建好仓库之后跟着网页的提示初始化便可以了 3.add、commit、push三板斧 git add . //add仓库新增(变…

python快速入门一

变量 定义一个变量并打印到控制台 message "Hello World!" print(message)控制台输出 Hello World!修改变量 message "Hello World!" print(message) message "Hello Python World!" print(message)控制台输出 Hello World! Hello Pytho…

企业数字化转型:聊聊数据思维!

笔者曾在《深入聊一聊企业数字化转型这个事儿》 一文中给出了数字化转型的定义,即:通过应用数字化技术来重塑企业的信息化环境和业务过程。本质上来讲,企业数字化转型,不仅是技术方面的升级,更是企业文化、思维方式的转…

【计算机考研】408到底有多难?

你真以为大家是学不会408吗? 不是!单纯是因为时间不够!!! 再准确一些就是不会分配时间 408的知识其实并不难,要说想上130那确实有难度,但是100在时间充裕的情况下还是可以做到的 我本人是双…

非wpf应用程序项目【类库、用户控件库】中使用HandyControl

文章速览 前言参考文章实现方法1、添加HandyControl包;2、添加资源字典3、修改资源字典内容坚持记录实属不易,希望友善多金的码友能够随手点一个赞。 共同创建氛围更加良好的开发者社区! 谢谢~ 前言 wpf应用程序中,在入口项目中存在App.xaml文件,在这个文件中加上对各个…

pytorch中nn.GroupNorm()作用及参数说明

数据归一化的作用,特点是分组归一化,每个组独立进行归一化处理。 torch.nn.GroupNorm(num_groups,num_channels) num_groups:组数 num_channels:通道数量 对num_channels这么多个通道分成num_groups个组分别进行归一化 nn.GroupNorm是一个用于定义分组…

Linux之进程控制进程终止进程等待进程的程序替换替换函数实现简易shell

文章目录 一、进程创建1.1 fork的使用 二、进程终止2.1 终止是在做什么?2.2 终止的3种情况&&退出码的理解2.3 进程常见退出方法 三、进程等待3.1 为什么要进行进程等待?3.2 取子进程退出信息status3.3 宏WIFEXITED和WEXITSTATUS(获取…

全球首位AI程序员Devin诞生,以此谈谈AI对程序员的影响

一、简介 全球首位 AI 程序员 Devin 是由初创公司 Cognition AI 创造的。这家公司成立仅四个月,却已经引起了广泛关注。 Devin作为人工智能的代表,将展示出人工智能在编程领域的潜力和能力,激发程序员探索和应用人工智能技术的兴趣。这将可…