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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 攀枝花市| 合阳县| 杭锦后旗| 金塔县| 江口县| 鹤岗市| 沁阳市| 定边县| 克拉玛依市| 恩平市| 揭阳市| 久治县| 体育| 阿巴嘎旗| 泰兴市| 吉安市| 上饶市| 栾川县| 义乌市| 卢龙县| 博湖县| 宜章县| 烟台市| 贡山| 丹棱县| 南安市| 台中市| 南乐县| 银川市| 祁阳县| 清涧县| 三门峡市| 门头沟区| 涟源市| 洛扎县| 乌拉特中旗| 邛崃市| 定结县| 永平县| 奎屯市| 健康|