教你提高商業(yè)智能環(huán)境中的DB2查詢性能
導讀:DB2數(shù)據(jù)庫的查詢功能是DB2數(shù)據(jù)庫中較好的性能,DB2數(shù)據(jù)庫的查詢功能展現(xiàn)了DB2數(shù)據(jù)庫的商業(yè)智能化。本文主要討論可以使決策支持系統(tǒng)(DSS)中的大型查詢高效地執(zhí)行的一些方法。這些查詢通常都是訪問較多數(shù)據(jù)的單純 select 查詢。下面是我們要討論的一些方法:
1、建立適當?shù)膮⒄胀暾约s束;
2、使用物化查詢表(MQT)將表復制到其它數(shù)據(jù)庫分區(qū),以允許非分區(qū)鍵列上的合并連接;
3、使用多維集群(MDC);
4、使用表分區(qū)(DB29 的新功能);
5、結(jié)合使用表分區(qū)和多維集群;
6、使用 MQT 預先計算聚合結(jié)果。
本文中的例子針對 Windows平臺上運行的 DB2 9。但是,其中的概念和信息對于任何平臺都是有用的。由于大多數(shù)商業(yè)智能(BI)環(huán)境都使用 DB2 Database Partitioning Feature(DPF,DB2 數(shù)據(jù)庫分區(qū)特性),我們的例子也使用 DPF 將數(shù)據(jù)劃分到多個物理和邏輯分區(qū)之中。
數(shù)據(jù)庫布局和設(shè)置
本節(jié)描述用于在我們的系統(tǒng)上執(zhí)行測試的數(shù)據(jù)庫的物理和邏輯布局。
星型模式布局
本文使用如下所示的星型模式:
清單 1. 星型模式
其中的表的定義如下:
事實表 SALES_FACT 包含 2006 年的總體銷售信息。它包括產(chǎn)品售出日期、產(chǎn)品 ID、銷售該產(chǎn)品的商店的 ID、售出的特定產(chǎn)品的數(shù)量,以及產(chǎn)品的價格。事實表中還添加了 TRANSACTION_DETAILS 列,以便在從事實表中訪問數(shù)據(jù)時生成更多的 I/O。
1、維度表 DATE_DIM 包含商店開放期間的惟一的日期和相應(yīng)的月份、季度和年份信息。
2、維度表 PRODUCT_DIM 包含公司所銷售的不同產(chǎn)品。每種產(chǎn)品有一個惟一的產(chǎn)品 ID 和一個產(chǎn)品描述、型號以及質(zhì)地。
3、維度表 STORE_DIM 包含不同的商店 ID 和商店的位置、所屬街區(qū)以及所屬區(qū)域等信息。
數(shù)據(jù)庫分區(qū)信息
各表都位于它自己的分區(qū)組中。3 個維度表都比較小,所以它們位于一個數(shù)據(jù)庫分區(qū)上。而事實表則跨 4 個分區(qū)。
表空間信息
緩沖池信息
本文中的測試所使用的默認緩沖池是 IBMDEFAULTBP,該緩沖池由 1,000 個 4K 的頁面組成。在本文的測試中,所有表空間共享這個緩沖池。在通常的 BI 環(huán)境中,會創(chuàng)建不同的緩沖池。
主查詢
下面的查詢用于測試本文中討論的各種不同的方法。該查詢執(zhí)行一個向外連接,比較二月份和十一月份 10 家商店的銷售信息。
這就是我要為大家介紹的DB2數(shù)據(jù)庫查詢的全部內(nèi)容,可能有些人覺得還不夠,那么以后我會繼續(xù)為大家介紹著方面的內(nèi)容,希望能夠幫到大家。
【編輯推薦】