Oracle-通过系统表查询每个表的记录数和数据容量大小

通过系统表查询每个表的记录数和数据容量大小:

--查询每个表的数据容量大小
SELECT 
    owner AS  schema_name,
    table_name AS 表名,
    num_rows AS 记录数,
    blocks * 8  AS  数据大小_KB,
    ROUND((blocks * 8 / 1024/1024), 2) AS 占用空间_GB,
    ROUND((num_rows * avg_row_len / 1024 / 1024 / 1024), 2) AS 预估数据大小_GB,
    avg_row_len  AS  平均每行长度_bytes,
    tablespace_name  AS 表空间
FROM all_tables 
WHERE owner = 'ODS'
AND   table_name IN 
(
    'ODS_YTH_SRV_EVENT',
    'ODS_YTH_INV_WI',
    'ODS_YTH_INV_MOVE_EVENT',        
    'ODS_YTH_INV_UNIT',
    'ODS_YTH_REF_EQUIPMENT',
    'ODS_YTH_INV_UNIT_FCY_VISIT'
)
ORDER BY num_rows DESC NULLS LAST;

 

posted @ 2025-10-24 11:22  业余砖家  阅读(32)  评论(0)    收藏  举报