php检测表大小,查询mysql数据库、表的大小

一、关于mysql表数据大小

mysql存储数据文件一般使用表空间存储 ;

当mysql使用innodb存储引擎的时候,mysql使用表存储数据分为共享表空间和独享表空间两种方式 。共享表空间:Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在, 所以其大小限制不再是文件大小的限制,而是其自身的限制 , innodb官方显示表空间的最大限制为64TB ;

独享表空间:每个表的数据以一个单独的文件来存放,这个时候的单表限制,又变成文件系统的大小限制了

在默认情况下,MySQL创建的MyISAM表允许的最大尺寸为4GB 。

二、关于show table stauts;中显示内容的解释

825ab33c63fe2c0395d1da0d680a16ab.png

Data_length 表中数据的大小

Index_length 表的索引的大小

Data_free 表空间的大小

data_Free :如果是共享表空间 data_free 是共享表空间的大小而非数据的大小。

如果是独享表空间才是该表的剩余空间。

如果表是分区存储的,data_free 就是一个近似值而非精确值所以此时需要查询 ,查看INFORMATION_SCHEMA.PARTITIONS表 可以查看表具有哪几个分区、分区的方法、分区中数据的记录数等重要信息:select sum(data_free) from information_schema.partitions where table_schema = 'db_name' and table_name='tab_name';

三、查询数据大小

1. 查询所有数据库的大小

select concat(round(sum(data_length/1024/1024),2),'MB') as data from information_schema.tables;

2. 查询指定库的大小

select concat(round(sum(data_length/1024/1024),2),'MB') as data from information_schema.tables where table_schema='database_name';

3.  查询指定表的大小

select concat(round(sum(data_length/1024/1024),2),'MB') as data from information_schema.tables where table_schema='database_name' and table_name='table_name';

四、information_schema库

在mysql中有一个information_schema数据库,这个数据库中装的是mysql的元数据,包括数据库信息、数据库中表的信息等。所以要想查询数据库占用磁盘的空间大小可以通

过对information_schema数据库进行操作。

information_schema中的表主要有:

schemata表:这个表里面主要是存储在mysql中的所有的数据库的信息

tables表:这个表里存储了所有数据库中的表的信息,包括每个表有多少个列等信息。

columns表:这个表存储了所有表中的表字段信息。

statistics表:存储了表中索引的信息。

user_privileges表:存储了用户的权限信息。

schema_privileges表:存储了数据库权限。

table_privileges表:存储了表的权限。

column_privileges表:存储了列的权限信息。

character_sets表:存储了mysql可以用的字符集的信息。

collations表:提供各个字符集的对照信息。

collation_character_set_applicability表:相当于collations表和character_sets表的前两个字段的一个对比,记录了字符集之间的对照信息。

table_constraints表:这个表主要是用于记录表的描述存在约束的表和约束类型。

key_column_usage表:记录具有约束的列。

routines表:记录了存储过程和函数的信息,不包含自定义的过程或函数信息。

views表:记录了视图信息,需要有show view权限。

triggers表:存储了触发器的信息,需要有super权限。

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

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

相关文章

springboot使用redis(StringRedisTemplate的常用方法)

1. 先了解RedisTemplate和StringRedisTemplate之间的关系: RedisTemplate是Spring对于Redis的封装,而StringRedisTemplate继承RedisTemplate。两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据&…

Arrays.asList()和Collections.singletonList()比较

Collections.singletonList(something)是不可变的, 对Collections.singletonList(something)返回的列表所做的任何更改将导致UnsupportedOperationException。 Arrays.asList(something)允许Arrays.asList(something) 更改 。 此外,由Collections.sin…

php 邮件类库,[3.3]-扩展类库:基于PHPMailer的邮件发送 | PhalApi(π框架) - PHP轻量级开源接口框架 - 接口,从简单开始!...

3.3.1 扩展类库:基于PHPMailer的邮件发送此扩展可用于发送邮件。3.3.2 安装和配置从 PhalApi-Library 扩展库中下载获取 PHPMailer 包,如使用:$ git clone https://git.oschina.net/dogstar/PhalApi-Library.git然后把 PHPMailer 目录复制到 …

spring boot报FileSizeLimitExceededException异常的解决方法

开发spring boot程序时,遇到了如下错误: The field file exceeds its maximum permitted size of 1048576 bytes. 原因: Spring Boot工程嵌入的tomcat限制了请求的文件大小,官方文档中这样描述: Spring Boot embraces…

前后端分离中的权限管理思路

在传统的前后端不分的开发中,权限管理主要通过过滤器或者拦截器来进行(权限管理框架本身也是通过过滤器来实现功能),如果用户不具备某一个角色或者某一个权限,则无法访问某一个页面。 但是在前后端分离中,…

前、后端分离权限控制设计与实现

简述 近几年随着react、angular、vue等前端框架兴起,前后端分离的架构迅速流行。但同时权限控制也带来了问题。 网上很多前、后端分离权限仅仅都仅仅在描述前端权限控制、且是较简单、固定的角色场景,满足不了我们用户、角色都是动态的场景。且仅仅前端…

前后端分离必备的接口规范,十分接地气

1. 前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然…

ubuntu php设置,关于ubuntu php环境设置详解-PHP问题

ubuntu php设置办法:起首更新源列表;而后关上“终端窗口”,输出饬令“sudo apt-get install php5”来装置php;接着装置设置装备摆设好apache环境,并装置php5-gd模块;最初创立“info.php”文件便可。Ubuntu …

MyBatis-Plus——增删查改

开发环境 IDEA JDK:1.8 Spring Boot:2.6.2 Maven:3.3.9 MySQL:8.0.23 数据库准备 CREATE DATABASE mybatis_plus_db;DROP TABLE IF EXISTS person; CREATE TABLE person(id BIGINT(20) NOT NULL COMMENT 主键ID, name VARCHAR(30) NULL DEFAULT NULL COMMENT 姓…

让程序员最爽的ThreadLocal使用姿势

一、常见场景 ​ 1、ThreadLocal作为线程上下文副本,那么一种最常见的使用方式就是用来方法隐式传参,通过提供的set()和get()两个public方法来实现在不同的方法中的参数传递。对于编程规范来说,方法定义的时候是对参数个数是有限制的&#x…

一场事故告诉你zookeeper和nacos谁更适合做注册中心

前言 ​ 在分布式系统中,注册中心充当着重要角色,是服务发现、客户端负载均衡中不可缺少的一员。注册中心除了能够实现基本的功能外,他的稳定性、可用性和健壮性对整个分布式系统的流畅运行影响重大。dubbo作为国内一款主流的分布式系统&…

Mysql执行计划含义,mysql执行计划介绍

烂sql不仅直接影响sql的响应时间,更影响db的性能,导致其它正常的sql响应时间变长。如何写好sql,学会看执行计划至关重要。下面我简单讲讲mysql的执行计划,只列出了一些常见的情况,希望对大家有所帮助。测试表结构&…

寄生虫php版,-PHP版SEO最新教材版排名DeDeCms寄生虫V90繁殖

今天视频教程演示说明下PHP寄生虫服务端的使用。主要在很多搭建的过程中会出错,今天主要就讲解下寄生虫配置常见的问题。那么同样也可以看下我们之前的通用版寄生虫使用教程[通用版教程在文件夹中有],本教程是针对PHP版本的寄生虫服务端进行配置演示。继…

MySQL中 JSON 数据类型应用

前言 今天接触到mysql中json数据类型,之前不知道有这个类型,今天学习一下。 JSON我相信大家都已经很熟悉了,但在 MySQL中,直至 5.7 版本中,才正式引入 JSON数据类型。在次之前,我们通常使varchar或text数…

MySql中json类型的使用___mybatis存取mysql中的json

MySql中json类型的使用 MySQL从5.7.8起开始支持JSON字段,这极大的丰富了MySQL的数据类型。也方便了广大开发人员。但MySQL并没有提供对JSON对象中的字段进行索引的功能,至少没有直接对其字段进行索引的方法。本文将介绍利用MySQL 5.7中的虚拟字段的功能…

百度下拉词+php,百度下拉词是如何生成的?

我们在百度搜索某一词汇的时候,都会在搜索框下面弹出一些相关性和搜索次数比较多的语句或词语,我们在百度上搜索一下,就可以看到用户平时搜索习惯,搜索爱好是什么。护发下拉很多小伙伴就又有疑问了:这些下拉词是根据什…

python元组赋值给变量,Python的赋值

一、序列解包多个赋值操作同时进行:赋值多个值后面再遇到对多个变量赋值时,就不需要对一个变量赋完值再对另一个变量赋值了,用一条语句就可以搞定,例如:再次赋值由输出结果看到,x和y的值交换了,…

微服务,你得知道这

目录 一、业务场景介绍 二、Spring Cloud核心组件:Eureka 三、Spring Cloud核心组件:Feign 四、Spring Cloud核心组件:Ribbon 五、Spring Cloud核心组件:Hystrix 六、Spring Cloud核心组件:Zuul 七、总结 概述…

分布式和微服务的区别

分布式和微服务的区别 1.颜老师,分布式和微服务有什么区别呢?网上说啥的都有,越看越晕了。 答:分布式的核心就一个字:拆。只要是将一个项目拆分成了多个模块,并将这些模块分开部署,那就算是分布…

Oracle数据库空间突然增大,Oracle 表空间异常增长过快解决方法

1. 首先用语句查询容量大于1G的数据段select segment_name,sum(bytes)/1024/1024 from dba_segments group by segment_name having sum(bytes)/1024/1024>1000;得到如下结果:SYS_LOB0000136091C00003$$ 255332MSYS_LOB0000136441C00004$$ 7170MSYS_C…