DBeaver怎么查看表空间使用率_DBeaver空间占用查询

夏磊姑娘_9142

夏磊姑娘_9142

2026-11-06

583人浏览

原创

达梦DM8查表空间使用率需执行SQL:SELECT a.tablespace_name, ROUND(a.bytes/1024/1024,2) AS "sum_mb", ROUND((a.bytes-b.bytes)/1024/1024,2) AS "used_mb", ROUND(b.bytes/1024/1024,2) AS "free_mb", ROUND((a.bytes-b.bytes)/a.bytes*100,2) AS "percent_used" FROM (SELECT tablespace_name, SUM(bytes) bytes FROM dba_data_files GROUP BY tablespace_name) a JOIN (SELECT tablespace_name, SUM(bytes) bytes FROM dba_free_space GROUP BY tablespace_name) b ON a.tablespace_name = b.tablespace_name;须确保用户有DBA_DATA_FILES和DBA_FREE_SPACE查询权限,驱动类为dm.jdbc.driver.DmDriver。

dbeaver怎么查看表空间使用率_dbeaver空间占用查询

能直接查,但方式取决于你连的是哪种数据库——MySQL、PostgreSQL、达梦(DM)、Oracle 的系统视图和函数完全不同,DBeaver 本身不内置统一的空间统计逻辑,它只是执行你写的 SQL 或展示驱动返回的元数据。

MySQL:用 SHOW TABLE STATUS 或 information_schema.tables

MySQL 没有“表空间”概念(InnoDB 默认共享表空间,5.7+ 支持独立表空间但不暴露为可查的逻辑单位),所以实际查的是单表或库级大小:

  • SHOW TABLE STATUS LIKE 'your_table_name'; 返回 Data_length、Index_length、Data_free 等字段,单位是字节
  • 更灵活的写法是查 information_schema.tables:
    SELECT 
      TABLE_NAME AS table_name,
      ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024, 2) AS size_mb,
      TABLE_ROWS AS rows
    FROM information_schema.tables 
    WHERE TABLE_SCHEMA = 'your_db_name' AND TABLE_NAME = 'your_table_name';
  • 注意 TABLE_ROWS 是估算值,MyISAM 准确,InnoDB 可能偏差大;Data_free 不代表可用空间,而是已分配但未使用的空间

PostgreSQL:靠 pg_total_relation_size() 系列函数

PostgreSQL 表空间(tablespace)是真实存在的物理目录,但单表大小统计通常不跨表空间聚合,而是按表/索引/TOAST 分层看:

  • pg_total_relation_size(relid) 包含表数据 + 所有索引 + TOAST 表;pg_relation_size(relid) 只算主表数据
  • 常用查询示例:
    SELECT 
      schemaname AS schema,
      relname AS table_name,
      pg_size_pretty(pg_total_relation_size(oid)) AS total_size,
      pg_size_pretty(pg_relation_size(oid)) AS data_size,
      pg_size_pretty(pg_total_relation_size(oid) - pg_relation_size(oid)) AS index_toast_size
    FROM pg_class
    WHERE relkind = 'r' AND schemaname NOT IN ('pg_catalog', 'information_schema');
  • 要查某个表空间整体使用率,得先查出该表空间下所有对象,再 sum 大小;没有现成视图,需 join pg_tablespace 和 pg_class

达梦 DM8:查 DBA_DATA_FILES 和 DBA_FREE_SPACE

达梦兼容 Oracle 风格的表空间管理,所以可用标准 DBA 视图查使用率:

  • 执行以下语句即可得到每个表空间的已用/剩余/使用率:
    SELECT 
      a.tablespace_name,
      ROUND(a.bytes / 1024 / 1024, 2) AS "sum_mb",
      ROUND((a.bytes - b.bytes) / 1024 / 1024, 2) AS "used_mb",
      ROUND(b.bytes / 1024 / 1024, 2) AS "free_mb",
      ROUND((a.bytes - b.bytes) / a.bytes * 100, 2) AS "percent_used"
    FROM 
      (SELECT tablespace_name, SUM(bytes) bytes FROM dba_data_files GROUP BY tablespace_name) a
      JOIN 
      (SELECT tablespace_name, SUM(bytes) bytes FROM dba_free_space GROUP BY tablespace_name) b
      ON a.tablespace_name = b.tablespace_name;
  • 确保当前用户有访问 DBA_DATA_FILES 和 DBA_FREE_SPACE 的权限,普通用户可能只能查 USER_TABLESPACES 或需切换到 SYSDBA
  • 达梦默认端口是 5236,驱动类必须设为 dm.jdbc.driver.DmDriver,否则元数据查询会失败或返回空

为什么图形界面点“属性”有时看不到大小?

DBeaver 的“属性”面板是否显示大小,完全取决于 JDBC 驱动是否实现了对应元数据接口:

  • MySQL 驱动(Connector/J)对 information_schema 的封装较全,右键表 → Properties → “Statistics” 标签页通常能显示行数和大小(但依赖 SHOW TABLE STATUS 的结果)
  • PostgreSQL 驱动(pgjdbc)不主动拉取 pg_size_* 函数结果,所以“属性”里一般只显示 OID、Owner、Comment,不显示磁盘大小
  • 达梦驱动若版本旧或未正确加载,Properties 里可能连“Storage”标签都不出现——此时必须走 SQL 查询
  • 别依赖界面自动刷新:即使查过一次,换库、切用户、重启 DBeaver 后,缓存元数据可能过期,需手动重查

真正容易被忽略的是权限和驱动版本匹配问题:同一个 SQL,在命令行能跑通,在 DBeaver 里报错或返回空,八成是驱动没选对,或者当前连接用户没被授 SELECT_CATALOG_ROLE(达梦)或 pg_read_all_data(PG)。先确认驱动类名和 URL 模板对不对,再查权限,比反复改 SQL 有效得多。

相关专题

更多
常用的mysql管理工具
常用的mysql管理工具

常用的mysql管理工具有:1、MySQL Workbench、phpMyAdmin、MySQL Shell、Navicat、DBeaver和DataGrip。更多关于mysql管理工具的问题,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

2023.11.03

6430

11

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

2026.11.04

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
DBeaver生态工具dbvr官方手册
DBeaver生态工具dbvr官方手册

共0课时 | 0人学习

DBeaver AI数据隐私指南
DBeaver AI数据隐私指南

共0课时 | 0人学习