查看MySQL表占用空间大小

一、前言

惭愧,有一段时间没有写技术文章了(注:忙着学做包子),这两天在准备将库存快照以及日志等数据迁移到ES中,需要确定每张表占用空间大小,这个总不能拍脑袋去算不然会被别人认为不专业,其实是可以直接到MySQL的information_schema去查就行。

二、mysql系统库简单介绍

使用管理员账号连接上MySQL会发现有几个系统数据库

  • information_schema:提供了对数据库元数据以及有关MySQL服务器信息(例如数据库或表的名称、列的数据类型或访问权限)访问,该数据库仅支持读取,不能修改,它们实际是视图。
  • mysql:包含存储数据库对象元数据的数据字典表、授权表、日志表等。
  • performance_schema:用于监视MySQL服务器执行

三、information_schema数据库

常见的几张表
SCHEMATA: 存放当前数据库系统实例下所有数据库,等同于show databases。
TABLES: 存放当前数据库系统实例下所有数据库的表,等同于所有数据库下show tables合集。
COLUMNS: 存放当前数据库系统实例下所有的字段信息。

四、查看空间占用大小

通过TABLES这张表中DATA_LENGTH字段查看使用情况。

1、查看数据库占用空间大小

可以看到off_line_store数据库占用空间为21G。

2、查看表占用空间大小

可以看到s_order_item这张表占用空间为863M。

3、查看指定数据库各表占用空间

查看MySQL表占用空间大小_第1张图片

可以看到该数据库所有表数据和索引占用空间的大小。

你可能感兴趣的:(系统运维,mysql,数据库)