文章詳情頁
教你提高商業智能環境中的DB2查詢性能
瀏覽:32日期:2023-11-11 10:14:50
本文主要討論可以使決策支持系統(DSS)中的大型查詢高效地執行的一些方法。這些查詢通常都是訪問較多數據的單純 select 查詢。下面是我們要討論的一些方法: 1、建立適當的參照完整性約束; 2、使用物化查詢表(MQT)將表復制到其它數據庫分區,以答應非分區鍵列上的合并連接; 3、使用多維集群(MDC); 4、使用表分區(DB2® 9 的新功能); 5、結合使用表分區和多維集群; 6、使用 MQT 預先計算聚合結果。 本文中的例子針對 Windows 平臺上運行的 DB2 9。但是,其中的概念和信息對于任何平臺都是有用的。由于大多數商業智能(BI)環境都使用 DB2 Database Partitioning Feature(DPF,DB2 數據庫分區特性),我們的例子也使用 DPF 將數據劃分到多個物理和邏輯分區之中。 數據庫布局和設置 本節描述用于在我們的系統上執行測試的數據庫的物理和邏輯布局。 星型模式布局 本文使用如下所示的星型模式:
清單 1. 星型模式其中的表的定義如下: 事實表 SALES_FACT 包含 2006 年的總體銷售信息。它包括產品售出日期、產品 ID、銷售該產品的商店的 ID、售出的特定產品的數量,以及產品的價格。事實表中還添加了 TRANSACTION_DETAILS 列,以便在從事實表中訪問數據時生成更多的 I/O。 1、維度表 DATE_DIM 包含商店開放期間的惟一的日期和相應的月份、季度和年份信息。 2、維度表 PRODUCT_DIM 包含公司所銷售的不同產品。每種產品有一個惟一的產品 ID 和一個產品描述、型號以及質地。 3、維度表 STORE_DIM 包含不同的商店 ID 和商店的位置、所屬街區以及所屬區域等信息。 數據庫分區信息 各表都位于它自己的分區組中。3 個維度表都比較小,所以它們位于一個數據庫分區上。而事實表則跨 4 個分區。 表空間信息 緩沖池信息 本文中的測試所使用的默認緩沖池是 IBMDEFAULTBP,該緩沖池由 1,000 個 4K 的頁面組成。在本文的測試中,所有表空間共享這個緩沖池。在通常的 BI 環境中,會創建不同的緩沖池。 主查詢 下面的查詢用于測試本文中討論的各種不同的方法。該查詢執行一個向外連接,比較二月份和十一月份 10 家商店的銷售信息。

排行榜
