文档首页/ 云数据库 GaussDB(for MySQL)/ 故障排除/ 基本使用类/ 查看GaussDB(for MySQL)的存储容量
更新时间:2024-10-09 GMT+08:00
分享

查看GaussDB(for MySQL)的存储容量

GaussDB(for MySQL)是存储计算分离架构,数据存储在共享存储系统中,共享存储容量可以通过管理控制台看到,详情请参考如下步骤操作,数据每30分钟更新一次。

GaussDB(for MySQL)存储容量的计算与传统MySQL有一定的区别,与传统MySQL使用(数据大小+索引大小+空闲空间)计算的容量数据会有一定的差别。

如果要查询精确的存储使用量,可以使用管理控制台查询或者连接GaussDB(for MySQL)数据库后,执行show spaceusage;命令查看当前数据使用的存储容量,该值为精确值,非估算值。

通过管理控制台查看存储容量

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在页面左上角单击,选择数据库 > 云数据库 GaussDB(for MySQL)
  4. 在实例列表中,单击目标实例名称,进入实例概览页面。
  5. 在“存储“存储与备份”模块的“存储空间”区域可以看到当前实例占用的存储容量。

    图1 查看存储容量

    • 存储空间
      • 显示的使用状况就是该实例购买的包周期的共享存储容量及目前数据已占用的容量。
      • 如果已使用空间超过购买的共享存储容量,GaussDB(for MySQL)会自动扩容,无需担心磁盘满带来的业务问题。
      • 自动扩容的空间会按照按需使用的收费标准收取,建议超出后使用磁盘容量变更功能扩展包周期的存储容量。
    • 备份空间:

      系统会赠送一份与包周期或按需存储容量相同大小的备份空间。

通过命令查看存储容量

连接GaussDB(for MySQL)数据库后,执行如下命令查看存储容量。

show spaceusage;

上述命令查询到的存储容量值等于表数据、表预分配空间、分区预分配空间、Binlog、Redolog和undo space之和,详情请参见表1

information_schema信息不是实时刷新的,查询之前可以先执行如下命令进行刷新:

set information_schema_stats_expiry = 0;

表1 存储容量说明

条目

查看方式

说明

表数据

select sum(data_length+index_length+data_free) from information_schema.tables;

传统MySQL的容量计算方式,该语句依赖统计数据的精准度,在统计数据未更新时可能会有偏差。

表预分配空间

select count(*) from information_schema.tables;

每张表会预分配4MB空间,该语句查询出表的数量乘以4MB就是总的表预分配空间。

分区预分配空间

select count(*) from INFORMATION_SCHEMA.PARTITIONS where PARTITION_NAME is not null;

每个分区会预分配4MB空间,该语句查询出分区的数量乘以4MB就是总的分区预分配空间。

Binlog

show binary logs;

将所有binlog的文件大小相加。

Redolog

show lsninfo;

flushed_to_disk_lsn- truncate_lsn

undo space

select sum(INITIAL_SIZE) as undo_space from information_schema.files where file_type='UNDO LOG';

undo空间。

相关文档