📜  在 oracle 12c 中查询表大小 - SQL (1)

📅  最后修改于: 2023-12-03 15:37:25.374000             🧑  作者: Mango

在 Oracle 12c 中查询表大小 - SQL

在 Oracle 12c 数据库中,查询表大小是非常重要的任务之一。可以使用以下 SQL 查询语句来查询表在存储设备上的大小:

SELECT
  owner,
  table_name,
  tablespace_name,
  num_rows,
  round((blocks*8)/1024) "Size (MB)"
FROM
  dba_tables
WHERE
  owner = '<OWNER-NAME>'
  AND table_name = '<TABLE-NAME>';

这个查询语句使用了 dba_tables 视图,它包含了整个 Oracle 数据库所有的表信息,包括拥有者、表名称、表空间、行数以及占用的存储块数。查询结果还使用了 round() 函数将块数转换为 MB 单位。

需要注意的是,这个查询语句需要替换 <OWNER-NAME><TABLE-NAME> 为实际的拥有者和表名称,才能得到正确的查询结果。

另外,如果想要查询整个数据库所有表的大小,可以省略 ownertable_name 的限制,直接查询 dba_tables 视图即可。

SELECT
  owner,
  table_name,
  tablespace_name,
  num_rows,
  round((blocks*8)/1024) "Size (MB)"
FROM
  dba_tables;

综上所述,查询 Oracle 12c 中表大小的 SQL 语句非常简单,只需要使用 dba_tables 视图和相应的限制条件即可。