如何查询Table占用空间的大小

Oracle和DB2都支持分区表,但是我们得知道什么样的表适合使用分区表技术,Oracle的官方建议是超过2G的Table就要使用分区表。        下面来总结一下,各DB中如何获得这些大小信息:  Oracle 10G中:  查询出当前用户的表所占用的空间大小,并按大小进行降序...显示全部
Oracle和DB2都支持分区表,但是我们得知道什么样的表适合使用分区表技术,Oracle的官方建议是超过2G的Table就要使用分区表。

       下面来总结一下,各DB中如何获得这些大小信息:
  Oracle 10G中:
  查询出当前用户的表所占用的空间大小,并按大小进行降序排列:
  Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name order by Sum(bytes)/1024/1024 desc
  查询出系统表空间的大小,并按大小进行降序排列(需要SYSDBA的权限):
  Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name order by Sum(bytes)/1024/1024 desc
  这个在OEMC中也可以看,但是如果没有装的话,SQL语句还是比较方便的。
  DB2中:
  查看某个Table的大小可以在控制中心中用图形界面查看。
  SQL Server中:
  执行统计并查看指定表名的表大小:
  exec sp_spaceused '表名', true;收起
参与13

查看其它 11 个回答liuziquan的回答

liuziquanliuziquan数据库管理员金蝶软件(中国)有限公司
收藏!!
互联网服务 · 2013-03-16
浏览1163

回答者

liuziquan
数据库管理员金蝶软件(中国)有限公司
擅长领域: 数据库

liuziquan 最近回答过的问题

回答状态

  • 发布时间:2013-03-16
  • 关注会员:0 人
  • 回答浏览:1163
  • X社区推广