理解SAP BW 中的 Bit-Map Index (續)

wolfinflow發表於2010-01-26

基於Bitmap索引的BW查詢計算

查詢1: 顯示所有的滿足下麵條件的記錄:where Y = 100 AND  Z = BOO

為了計算上訴查詢,對 Y = 100 和 Z = BOO的 Bitmap 執行按位與操作:
Y = 100 的Bitmap 為   1 0 1 0 0
Z = BOO的Bitmap為  0 1 1 0 0
按位與:
             1 0 1 0 0
        與
              0 1 1 0 0  

                          
     結果   0 0 1 0 0

從上面的計算可以看出上訴Bitmap的位操作只有對於資料表的第3行為真。所以查詢1的結果就是資料表的第3行:


X  Y             Z
3  100         BOO



查詢2: 顯示滿足條件的所有記錄: WHERE Y = 100 OR Z = BOO

與查詢1的計算方法相似,
Y = 100 的Bitmap 為   1 0 1 0 0
Z = BOO的Bitmap為  0 1 1 0 0
按位或:
             1 0 1 0 0
        或
              0 1 1 0 0     

                       
     結果   1 1 1 0 0


從計算結果可以看出,上訴位計算對資料表的前3行為真。所以查詢2的結果是資料表的前3行:


X   Y             Z
1   100         FOO
2   200         BOO
3   100         BOO

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/119153/viewspace-626081/,如需轉載,請註明出處,否則將追究法律責任。

相關文章