首頁 > 資料庫 > mysql教程 > 查看某个表在数据库中占用空间的大小

查看某个表在数据库中占用空间的大小

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 15:47:35
原創
1530 人瀏覽過

一、oracle数据库 1)查看某一用户下的某张表 select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M' from USER_extents where SEGMENT_TYPE='TABLE' and SEGMENT_NAME='表名' group by SEGMENT_NAME,TABLESPACE_NAME; 2)查所有的表 select SEGME

一、oracle数据库

1)查看某一用户下的某张表

select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M'  from USER_extents where SEGMENT_TYPE='TABLE' and SEGMENT_NAME='表名' group by SEGMENT_NAME,TABLESPACE_NAME;

2)查所有的表
select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M'  from dba_extents where SEGMENT_TYPE='TABLE' group by SEGMENT_NAME,TABLESPACE_NAME;

 

二、DB2数据库

1)方法1(统计表所占用的物理空间大小,包括数据、索引、大对象和xml空间大小)

SELECT (DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE + LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE)/1024||'M' AS TOTAL_P_SIZE FROM SYSIBMADM.ADMINTABINFO where TABNAME = '表名'

其中DATA_OBJECT_L_SIZE代表表的逻辑大小(KB),DATA_OBJECT_P_SIZE为表的物理大小(KB)。

逻辑大小和物理大小的差别:我们往某张表插入很多数据,然后删除一些数据,但表占据的空间并不会释放,当新的数据插入时,仍然会使用这些空间。实际占用的空间叫做逻辑空间,分配过的空间叫物理空间,逻辑空间可能会小于物理空间,这两者的差异可以通过reorg来消除。

2)方法2(ADMIN_GET_INFO表函数返回结果与SYSIBMADM.ADMINTABINFO管理视图类似)

SELECT TABNAME,SUM(DATA_OBJECT_P_SIZE + INDEX_OBJECT_P_SIZE + LONG_OBJECT_P_SIZE + LOB_OBJECT_P_SIZE + XML_OBJECT_P_SIZE)/1024||'M' FROM TABLE (SYSPROC.ADMIN_GET_TAB_INFO('模式名','表名')) AS T GROUP BY TABNAME

使用此语句,统计速度要比SYSIBMADM.ADMINTABINFO快很多。

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
redis 查看key的類型,是什麼指令?
來自於 1970-01-01 08:00:00
0
0
0
mongodb聚合怎麼查看查詢效能?
來自於 1970-01-01 08:00:00
0
0
0
php工具箱可以查看錯誤日誌嗎?
來自於 1970-01-01 08:00:00
0
0
0
javascript - 查看物件內容
來自於 1970-01-01 08:00:00
0
0
0
windows - linux查看檔案刪除日誌
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板