📅  最后修改于: 2023-12-03 15:37:25.374000             🧑  作者: Mango
在 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>
为实际的拥有者和表名称,才能得到正确的查询结果。
另外,如果想要查询整个数据库所有表的大小,可以省略 owner
和 table_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
视图和相应的限制条件即可。