技术文章
当前位置:首页 > Mysql技术文章 > MySQL数据库如何查看数据表占用空间大小和记录数

MySQL数据库查看数据表占用空间大小和记录数的实例讲解

  • 发布时间:
  • 作者:码农之家原创
  • 点击:170

这篇文章主要知识点是关于MySQL、数据库、数据表、查看占用空间大小、查看记录数、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

PHP&MySQL跨设备网站开发实例精粹
  • 类型:PHP编程大小:80.9 MB格式:PDF出版:清华大学出版社作者:陈惠贞,陈俊荣
立即下载

更多Mysql相关的学习资源可以参阅 Mysql电子书程序设计电子书 等栏目。

MySQL数据库如何查看数据表占用空间大小和记录数

如果想知道MySQL数据库中每个表占用的空间、表记录的行数的话,可以打开MySQL的 information_schema 数据库。在该库中有一个 TABLES 表,这个表主要字段分别是:

TABLE_SCHEMA : 数据库名
TABLE_NAME:表名
ENGINE:所使用的存储引擎
TABLES_ROWS:记录数
DATA_LENGTH:数据大小
INDEX_LENGTH:索引大小

其他字段请参考MySQL的手册,这几个字段对我们来说最有用。
一个表占用空间的大小,相当于是 数据大小 + 索引大小,

示例:

1.想查看hx库的所有表大小,可以使用:

复制代码 代码如下:

SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='hx';

 

+-------------------+--------------------------+------------+
| TABLE_NAME        | DATA_LENGTH+INDEX_LENGTH | TABLE_ROWS |
+-------------------+--------------------------+------------+
| enjoy_data    |                  6979584 |      70113 |
| hx_record      |                113410048 |     753279 |
| itlearner_record       |              21835546624 |  104917777 |
| tmp_day_id        |                    17326 |        811 |
+-------------------+--------------------------+------------+


2.想查看hx库的enjoy表大小,可以使用:
复制代码 代码如下:

SELECT DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.TABLES WHERE TABLE_SCHEMA='hx' AND TABLE_NAME = 'enjoy_data';

返回:
复制代码 代码如下:

+--------------------------+------------+
| DATA_LENGTH+INDEX_LENGTH | TABLE_ROWS |
+--------------------------+------------+
|                     6979584 |          70113 |
+--------------------------+------------+

 

以上就是本次给大家分享的关于Mysql的全部知识点内容总结,大家还可以在下方相关文章里找到MySQL中的CONCAT函数使用方法、 MySQL 5.7增强版Semisync Repl、 MySQL性能优化总结、 等mysql文章进一步学习,感谢大家的阅读和支持。

上一篇:MySQL创建新用户、增加账户的方法总结

下一篇:MySQL性能优化总结

展开 +

收起 -

相关电子书
学习笔记
网友NO.424513

使用cgroups来限制MySQL企业备份服务对资源的占用

今天我遇到一个问题,MySQL企业版备份引起I/O子系统负载过大,应用响应缓慢,导致系统不可用。所以我想限制mysqlbackup的进程,使它不会引起更多的问题。 mysqlbackup命令里面有读,写和进程数的设置。默认是1个读,1个写和5个线程。因为我用的是默认设置,所以还是没有必要去调整了。 使用ionice工具没法工作,因为它需要CFG I/O调度器。 我在这篇文章里找到一个方法。 它使用的是linux的cgroups。之前,在三台中有一台服务器使用的是非常慢的CPU的情况下,我使用过cgroups来测试一个galera的安装工作。 # mkdir /cgroup/blkio# mount -t cgroup -o blkio non /cgroup/blkio# cgcreate -g blkio:/mysqlbackup# ls -lh /dev/mapper/vgdb01-lvdb01lrwxrwxrwx 1 root root 7 Sep 26 14:22 /dev/mapper/vgdb01-lvdb01 - ../dm-2# ls -lh /dev/dm-2brw-rw---- 1 root disk 253, 2 Sep 26 14:22 /dev/dm-2# cgset -r blkio.throttle.read_iops_device="253:2 20" mysqlbac……

网友NO.620293

MySQL占用内存较大与CPU过高测试与解决办法

更改后如下: innodb_buffer_pool_size=576M -256M InnoDB引擎缓冲区占了大头,首要就是拿它开刀 query_cache_size=100M -16M 查询缓存 tmp_table_size=102M -64M 临时表大小 key_buffer_size=256m -32M 重启mysql服务后,虚拟内存降到200以下. 另外mysql安装目录下有几个文件:my-huge.ini 、my-large.ini、my-medium.ini...这几个是根据内存大小作的建议配置,新手在设置的时候也可以参考一下。 2G内存的MYSQL数据库服务器 my.ini优化 (my.ini) 2G内存,针对站少,优质型的设置,试验特: table_cache=1024 物理内存越大,设置就越大.默认为2402,调到512-1024最佳 innodb_additional_mem_pool_size=8M 默认为2M innodb_flush_log_at_trx_commit=0 等到innodb_log_buffer_size列队满后再统一储存,默认为1 innodb_log_buffer_size=4M 默认为1M innodb_thread_concurrency=8 你的服务器CPU有几个就设置为几,默认为8 key_buffer_size=256M 默认为218 调到128最佳 tmp_table_size=64M 默……

网友NO.962461

MySQL 句柄数占用过多的解决方法

在Windows下安装MySQL ,用了官方的配置向导生成了my.ini,本以为很安稳了,谁知十多个小时过去之后,系统响应非常慢,看资源管理器的性能卡,发现句柄数竟然达到了10万!怪不得无论使用什么程序都卡得很。 网上搜索一下,大概是说 innodb_buffer_pool_size 这个默认的8M太大,但我已经skip-innodb了啊。 后来又看到一个设置innodb_flush_log_at_trx_commit innodb_flush_log_at_trx_commit (这个很管用) 抱怨Innodb比MyISAM慢 100倍?那么你大概是忘了调整这个值。默认值1的意思是每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,这是很费时的。特别是使用电池供电缓存(Battery backed up cache)时。设成2对于很多运用,特别是从MyISAM表转过来的是可以的,它的意思是不写入硬盘而是写入系统缓存。日志仍然会每秒flush到硬盘,所以你一般不会丢失超过1-2秒的更新。设……

<
1
>

Copyright 2018-2020 xz577.com 码农之家

电子书资源由网友、会员提供上传,本站记录提供者的基本信息及资源来路

鸣谢: “ 码小辫 ” 公众号提供回调API服务、“ 脚本CDN ”提供网站加速(本站寻求更多赞助支持)

版权投诉 / 书籍推广 / 赞助:520161757@qq.com

上传资源(网友、会员均可提供)

查看最新会员资料及资源信息