db2怎么列出当前数据库下所有表占用空间的大小

syscat.tables中的所有条目的npage属性都是-1应该不是这个吧,该在哪看呢... syscat.tables 中的所有条目的npage 属性都是-1
应该不是这个吧,
该在哪看呢
展开
 我来答
半糖奶茶吖FVtmr
推荐于2017-09-04 · TA获得超过377个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:129万
展开全部
ADMINTABINFO administrative view and ADMIN_GET_TAB_INFO table function - Retrieve size and state information for tables

Example 1: Retrieve size and state information for all tables

SELECT * FROM SYSIBMADM.ADMINTABINFO

Example 2: Retrieve size and state information for the table DBUSER1.EMPLOYEE.

SELECT * FROM TABLE (SYSPROC.ADMIN_GET_TAB_INFO('DBUSER1', 'EMPLOYEE'))
AS T
以上参考 http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/r0022024.htm

DATA_OBJECT_L_SIZE DATA_OBJECT_P_SIZE这两个字段值为你需要的信息。
第一个示例查询时可以带上模式名或者表名来去除系统表的信息
du瓶邪
推荐于2017-09-26 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2918万
展开全部

查询出当前用户的表所占用的空间大小,并按大小进行降序排列:  

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

 查看某个Table的大小可以在控制中心中用图形界面查看。

SQL Server中:

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

exec sp_spaceused '表名', 

true;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式