一:关于mysql表数据大小

我们知道mysql存储数据文件一般使用表空间存储

当mysql使用innodb存储引擎的时候,mysql使用表存储数据分为共享表空间和独享表空间两种方式

·共享表空间:Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在。

所以其大小限制不再是文件大小的限制,而是其自身的限制

-->innodb官方显示表空间的最大限制为64TB

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

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

二:关于show table stauts\G;中显示内容的解释

Data_length: 150032--->表中数据的大小

Index_length: 183107584--->表的索引的大小

Data_free: 25238175744--->表空间的大小

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

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

如果表是分区存储的,data_free 就是一个近似值而非精确值所以此时需要查询

select sum(data_free) from information_schema.partitions where table_schema = 'db_name' and table_name='tab_name';

查询所有数据库的大小

1:use information_schema;

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

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

3: 查询指定表的大小

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

三:判断mysql I/0 性能的一种方式(网络搜集供参考)

show global status like 'innodb_dblwr%'\G

如果innodb_dblwr_pages_writen/innodb_dblwr_writes远小于64:1,说明磁盘写入压力不高

show engine innodb status\G 查看缓冲池的方法。

select table_name,data_length+index_length,table_rows from tables where table_schema='database_name' and table_name='table_name';

[转] MySQL 查询表数据大小的总结的更多相关文章

  1. mysql导入数据大小设置方法

    MySQL导入数据库文件最大限制2048KB和phpmyadmin导入数据最大限制2048KB的解决方法 解决办法: 1.打开php.ini.找到 upload_max_filesize . memo ...

  2. mysql查询表的数据大小

    在需要备份数据库里面的数据时,我们需要知道数据库占用了多少磁盘大小,可以通过一些sql语句查询到整个数据库的容量,也可以单独查看表所占容量. 1.要查询表所占的容量,就是把表的数据和索引加起来就可以了 ...

  3. 速查mysql数据大小

    速查mysql数据大小 # 1.查看所有数据库大小 mysql> select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data ...

  4. MySQL 性能优化--优化数据库结构之优化数据大小

    MySQL性能优化--优化数据库结构之优化数据大小   By:授客  QQ:1033553122 尽量减少表占用的磁盘空间.通常,执行查询期间处理表数据时,小表占用更少的内存. 表列 l   尽可能使 ...

  5. Mysql大概1700W大表删除1000W左右数据,发现数据大小和索引大小并没有减少思考

    MySQL删除操作其实是假删除 因为近期在重构优化一个业务的时候 发现有一张表(send_log)数据量将近1700W 左右  占用数据大小17G,索引18G左右  而我们的核心应用在使用的时候 会去 ...

  6. 查询mysql数据库表的信息(表大小、数据大小、索引大小)

    select * from information_schema.TABLES where information_schema.TABLES.TABLE_SCHEMA='databasename' ...

  7. Mysql表大小数据大小索引大小查询

    SELECT CONCAT(ROUND((INDEX_LENGTH+DATA_LENGTH)/1024/1024, 2), 'MB') AS '总大小',CONCAT(ROUND(DATA_LENGT ...

  8. 003-mysql查询表的数据大小

    在需要备份数据库里面的数据时,我们需要知道数据库占用了多少磁盘大小,可以通过一些sql语句查询到整个数据库的容量,也可以单独查看表所占容量. 1.查看数据库表结构大小,要查询表所占的容量,就是把表的数 ...

  9. MySQL mysqldump数据导出详解

    介绍 在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具:它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明 ...

随机推荐

  1. VoLTE 注册流程

    1.开关按钮位置:   设置--> 更多--> 移动网络--> 增强型4G LTE模式 2.该设置开关使用了SwitchPreference控件,addEnhanced4GLteSw ...

  2. AutoCad2008 部分快捷键

    编组开关:  Ctrl+Shift+A 查看扩展属性命令: xdlist 加载新的菜单栏命令:menu

  3. 合并两个排好序的链表(c++)

    #include<iostream> struct node{ int payload; node* next; node(int payload){this->payload=pa ...

  4. sendto频率过快导致发送丢包

    编写一个转发模块,虽然没有要求一转多时要达到多少路(不采用组播的情况下,单纯的一路转成多路),但是本着物尽其用的原则,尽可能测试一下极限. 网络环境:1000M,直连,多网卡 系统:Linux ver ...

  5. Module 'fileinfo' already loaded in Unknown on line 0

    出现的原因是:需要加载的扩展已经以而二进制文件的形式写入了php中,但是,在php.ini中却再一次动态加载 参考出处

  6. Xamarin踩坑经历

    1.SDK版本 Android SDK Build-tools必须安装23.0.1版,不得升级高版本,否则将导致异常:尝试在条件"$(_DeviceSdkVersion) >= 21& ...

  7. python smtplib发送邮件遇到的认证问题

    python的smtplib模块主要是用来发送邮件的,使用起来比较方便. 使用程序发送邮件只需要写以下几行代码就OK了: #!/usr/bin/env python import smtplib s ...

  8. Slight difference between C++ and C

    In C++, results of assignment operation, prefix increment and prefix decrement are all lvalues, the ...

  9. AndroidLinker与SO加壳技术之下篇

    点此查看上篇<AndroidLinker与SO加壳技术之上篇> 2.4 链接 链接过程由 soinfo_link_image 函数完成,主要可以分为四个主要步骤: 1. 定位 dynami ...

  10. oracle 创建用户和imp指定表空间

    创建用户: 1,sqlplus sys/pwd as sysdba; 2, create user username identified by password; 3, grant dba,conn ...