在不同数据库中查询Table占用空间

原创
2016-06-07 15:23:59 703浏览

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 Oracle和DB2都支持分区表,但是我们得知道什么样的表适合使用分区表技术,Oracle的官方建议是超过2G的Table就要使用分区表。 下面来总结一下,各种数据库中如何获得这些大小信息: Oracle 10G中:

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

  Oracle和DB2都支持分区表,但是我们得知道什么样的表适合使用分区表技术,Oracle的官方建议是超过2G的Table就要使用分区表。

  下面来总结一下,各种数据库中如何获得这些大小信息:

  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语句是什么?谁能告诉我一下?

  SQL Server中:

  执行统计并查看指定表名的表大小:

  exec sp_spaceused '表名', true;

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。