首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 数 据 库 > DB2 > 正文
  • DB中如何查询Table占用空间的大小
      2007-12-13  来源:Levelup  编辑:Jsbulo  热度:

      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;