查看GaussDB(for MySQL)的存储容量
GaussDB(for MySQL)是存储计算分离架构,数据存储在共享存储系统中,共享存储容量可以通过管理控制台看到,详情请参考如下步骤操作,数据每30分钟更新一次。
GaussDB(for MySQL)存储容量的计算与传统MySQL有一定的区别,与传统MySQL使用(数据大小+索引大小+空闲空间)计算的容量数据会有一定的差别。
如果要查询精确的存储使用量,可以使用管理控制台查询或者连接GaussDB(for MySQL)数据库后,执行show spaceusage;命令查看当前数据使用的存储容量,该值为精确值,非估算值。
通过管理控制台查看存储容量
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域和项目。
- 在页面左上角单击,选择 。
- 在实例列表中,单击目标实例名称,进入实例概览页面。
- 在“存储“存储与备份”模块的“存储空间”区域可以看到当前实例占用的存储容量。
图1 查看存储容量
通过命令查看存储容量
连接GaussDB(for MySQL)数据库后,执行如下命令查看存储容量。
show spaceusage;
上述命令查询到的存储容量值等于表数据、表预分配空间、分区预分配空间、Binlog、Redolog和undo space之和,详情请参见表1。
information_schema信息不是实时刷新的,查询之前可以先执行如下命令进行刷新:
set information_schema_stats_expiry = 0;
条目 |
查看方式 |
说明 |
---|---|---|
表数据 |
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空间。 |