MYSQL: select TABLE_SCHEMA, TABLE_NAME,CONCAT(round(DATA_LENGTH/1024/1024,2) ,'MB')as TABLE_VOLUME,TABLE_ROWS from information_schema.tables where TABLE_TYPE='BASE TABLE'
2.
oracle: 如果不含大字段 直接user_tables /dba_tables ,如果有大字段使用user_segments /dba_segments 通过块数计算数据量:to_char(round(s.blocks*8/1024,2),'fm990.0099')||'MB' ,可能不准,block大小可能会变 data block :oracle 11g 标准块:8k,支持2-32k,有block header 、free space 、data 组成 — 如果是分区表, segment_type = 'TABLE PARTITION'