程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2 V8中引入的MDC

DB2 V8中引入的MDC

編輯:DB2教程

本文將為您介紹DB2 V8 中引入的MDC表,在MDC表中,塊映射(block map)會跟蹤屬於這個表的所有擴展數據塊,並且指示哪些塊或擴展數據塊上包含數據以及哪些塊或擴展數據塊上沒有包含數據

MDC 是在 DB2 V8 中引入的,通過它可以在物理上將在多個維上具有類似值的行聚集在一起放在磁盤上。這種聚集能為常見分析性查詢提供高效的 I/O。例如對於 Product=car,Region=East,並且 SaleMonthYear = Jan09 的所有行,可以將它們存儲在相同的存儲位置,即所謂的塊(block)。一個塊的大小等於表空間的擴展數據塊(extent)大小,擴展數據塊是磁盤上的一組連續頁,所以將這些具有類似值的行在物理上是存放在連續的數據頁上。了解 MDC 相關內容和細節,可以查看 DB2 9.7 信息中心的“多維集群表”。

在 MDC 表中,塊映射(block map)會跟蹤屬於這個表的所有擴展數據塊,並且指示哪些塊或擴展數據塊上包含數據以及哪些塊或擴展數據塊上沒有包含數據。包含數據的塊標記為“正在使用”(“IN USE”)。每當發生刪除或轉出時,相應的塊條目不再標記為“正在使用”,而是被釋放以供 MDC 表復用。但是表空間中的其他對象無法使用這些擴展數據塊。

可以通過重組 MDC 表來從 MDC 表釋放這些可用數據擴展數據塊。在 DB2 9.7 之前只能在完全脫機的情況進行重組,在 DB2 9.7 中開始支持聯機對 MDC 進行重組以釋放擴展數據塊。DB2 9.7 中的 REORG TABLE 命令增加了 RECLAIM EXTENTS ONLY 選項,可以使用這個選項來釋放 MDC 表專用的擴展數據塊,並且使該空間可供表空間內其他數據庫對象使用。該選項還允許控制在釋放擴展數據塊期間對 MDC 表的並行訪問,寫訪問權限為缺省訪問權限,還可選擇讀訪問權限和無訪問權限來控制並行訪問。

除了使用 REORG TABLE 命令來釋放擴展數據塊,也可以使用 db2Reorg API 來回收擴展數據塊。

另外,從 MDC 表釋放擴展數據塊只支持在 DMS 表空間。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved