賽迪網 > IT技術 數據庫 > 數據中心
  IT資訊搜索
 
IT產品搜索
[程式開發][網管世界][網路安全][數據庫技術]
[作業系統][嘉賓聊天·線上訪談][活動集錦]
[精彩專題][Symantec專區][訂閱IT技術週刊]
[開發論壇][網管論壇][安全論壇][數據庫論壇]
[作業系統論壇][Sybase專區][IBM dW技術專區]
[病毒求助][病毒與漏洞播報][文檔·源碼下載]

帶你深入了解數據倉庫優化中的星型轉換

發佈時間:2008.07.25 08:50     來源:賽迪網    作者:Bert

【賽迪網-IT技術報道】在數據倉庫中經常查詢的SQL總帶有下列特徵:

◆幾個表進行關聯

◆只有一個數據量巨大的表, 稱為事實表

◆其他的都是編碼表, 稱為維表

◆維表和事實表之間有主外鍵關係

假設有D1(key1),D2(key2),D3(key3),D4(key)四個小的維表和一個事實表F(key1,key2,key3,key4), 那麼經常進行的查詢將是:

SELECT

D1.xxx, D2.xxx, D3.xxx, D4.xxx,

SUM(F.xxx), SUM(F.xxx)

FROM F, D1, D2, D3, D4

WHERE F.KEY1=D1.KEY1 AND F.KEY2=D2.KEY2

AND F.KEY3=D3.KEY3 AND F.KEY4=D4.KEY4

AND D1.xxx=? AND D2.xxx=?

AND D3.xxx=? AND D4.xxx=?

GROUP BY D1.xxx, D2.xxx, D3.xxx, D4.xxx

而為了提高查詢速度, 根據數據特徵, key1,key2,key3,key4這四個字段會比較適合每個字段上建一個位圖索引(Bitmap Index), 但是上面的查詢語句並不能用到位圖索引, 除非是進行了星型轉換, 這個轉換需要將SQL轉換成下面的格式:

SELECT

D1.xxx, D2.xxx, D3.xxx, D4.xxx,

SUM(F.xxx), SUM(F.xxx)

FROM F, D1, D2, D3, D4

WHERE F.KEY1=D1.KEY1 AND F.KEY2=D2.KEY2

AND F.KEY3=D3.KEY3 AND F.KEY4=D4.KEY4

AND D1.xxx=? AND D2.xxx=?

AND D3.xxx=? AND D4.xxx=?

AND F.KEY1 IN (SELECT D1.KEY1 FROM D1 WHERE D1.xxx=?)

AND F.KEY2 IN (SELECT D2.KEY2 FROM D2 WHERE D2.xxx=?)

AND F.KEY3 IN (SELECT D3.KEY3 FROM D3 WHERE D3.xxx=?)

AND F.KEY4 IN (SELECT D4.KEY4 FROM D4 WHERE D4.xxx=?)

GROUP BY D1.xxx, D2.xxx, D3.xxx, D4.xxx

有條件的可以試試, 使用星型轉換有三個條件:

◆事實表的每個代碼列上有位圖索引

◆參數STAR_TRANSFORMATION_ENABLED的值要設為TRUE

◆必須使用CBO, 所以最好對表進行適當的分析

(責任編輯:盧兆林)


[ 發表評論 ] 字體[  ] [ 列印 ] [ 進入博客 ] [ 進入論壇 ]  [ 推薦給朋友 ]
  相關文章
· 深入探討數據倉庫和數據集市的異同之處 (07-23) · 個人經驗總結:數據倉庫的數據存儲和實現 (07-11)
· 深入探討數據倉庫緩慢變化維的解決方案 (06-30) · 帶你深入了解用於數據倉庫的IBM DB2產品 (06-27)
· 講解OLTP與數據倉庫兩者之間的不同之處 (06-26) · Cach岢與Oracle在數據倉庫應用中的比較 (06-25)
· 教你在SQL Server 2000數據倉庫中使用分區 (06-25) · 數據倉庫基本報表製作過程中的SQL寫法 (06-24)
· 簡明扼要的講解數據倉庫所擁有的四個特點 (06-13) · 根據新技術特點淺談數據倉庫和數據挖掘架構 (06-12)
  客戶需求反饋表
* 姓  名:
更多資料  了解方案  認識廠商
* 單位名稱:
* 聯繫電話:
* 電子郵件:
  賽迪推薦  
  手機·資費 ·新品·導購·評測·手機資費·寬帶
手機搜索  諾基亞 N73 MOTO Z6
  IT產品 ·筆記本·臺式機·伺服器·列印·投影
IT產品搜索 
  IT技術 ·開發·網管·安全·數據庫·作業系統
  資訊化 ·熱點·專題·訪談·週刊·方案案例
· 資訊化市場百家爭鳴 SaaS深陷爭議“泥潭”
· 提高管理水準 "兩棲"CIO應具備的六大能力
· 國產ITIL運維先行者 四大廠商角力BI市場
· 金融行業GSN專題解決方案 企業網解決方案
  IT博客 ·曾劍秋·項立剛·Java學習·網管
  IT技術論壇 ·開發·網管·安全·數據庫·系統