qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          如何查詢Table占用空間的大小

          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的大小可以在控制中心中用圖形界面查看。
          DB2中有兩種方式去查看:
          一.查看表的使用頁數,平均每頁行數,平均行大小(需要對表做runstats才獲得準確的數據)
          SELECT SUBSTR(a.tabname,1,10) AS table, PAGESIZE, b.CARD, b.npages , 
          CASE WHEN (b.NPAGES  > 0) THEN (b.CARD / b.NPAGES) ELSE -1 END AS ROWS_PER_PAGE, 
          SUM(AVGCOLLEN) AVG_ROW_SIZE FROM SYSCAT.COLUMNS a, SYSCAT.TABLES b, SYSCAT.TABLESPACES c 
          WHERE a.tabschema = b.tabschema AND a.tabname = b.tabname AND b.tbspaceid = c.tbspaceid 
          AND a.tabname = 'tabname' GROUP BY a.tabschema, a.tabname, pagesize, card, npages

          二.查看表的大小(獲得的數據準確,但查詢語句執行很慢,需要去掃描物理表)
          SELECT   SUBSTR(TABSCHEMA,1,18)   TABSCHEMA,
                          SUBSTR(TABNAME,1,30)     TABNAME,
                          SUM(DATA_OBJECT_P_SIZE)  DATA_OBJECT_P_SIZE,
                          SUM(INDEX_OBJECT_P_SIZE) INDEX_OBJECT_P_SIZE,
                          SUM(LONG_OBJECT_P_SIZE)  LONG_OBJECT_P_SIZE,
                          SUM(LOB_OBJECT_L_SIZE)   LOB_OBJECT_L_SIZE,
                          SUM(LOB_OBJECT_P_SIZE)   LOB_OBJECT_P_SIZE,
                          SUM(XML_OBJECT_P_SIZE)   XML_OBJECT_P_SIZE
          FROM     SYSIBMADM.ADMINTABINFO
          WHERE    TABSCHEMA='TABSCHNAME' and TABNAME='TABNAME'
          GROUP BY TABSCHEMA, TABNAME;
          統計業務表數據量
          Select tabschema,tabname,sum(data_object_p_size),sum(index_object_p_size),sum(xml_object_p_size)        from sysibmadm.admintabinfo                                 
          where tabschema='模式A' and tabname like '%表名%'                                
          group by tabschema,tabname                                
          order by tabname
            SQL Server中:
            執行統計并查看指定表名的表大小:
            exec sp_spaceused '表名', true;

          posted on 2014-02-07 17:53 順其自然EVO 閱讀(421) 評論(0)  編輯  收藏 所屬分類: db2

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宜章县| 思茅市| 墨竹工卡县| 仁寿县| 怀安县| 澳门| 滦平县| 武义县| 宜良县| 新源县| 台中市| 德惠市| 利辛县| 三台县| 康保县| 宁夏| 乡城县| 安乡县| 都昌县| 东海县| 黄浦区| 双江| 石嘴山市| 眉山市| 临邑县| 锡林郭勒盟| 宁城县| 封开县| 平阴县| 江城| 巢湖市| 佛教| 金寨县| 紫阳县| 和龙市| 湖南省| 阿瓦提县| 英德市| 日喀则市| 车致| 海门市|