語法與實例,限制使用條件,
語法與實例
創建點陣圖連線索引時,指定涉及的兩個表。相應的語法應該遵循如下模式:
create bitmap index FACT_DIM_COL_IDX on FACT(DIM.Descr_Col) from FACT, DIM where FACT.JoinCol = DIM.JoinCol; |
點陣圖連線的語法比較特別,其中包含FROM子句和WHERE子句,並且引用兩個單獨的表。索引列通常是維度表中的描述列-- 就是說,如果維度是CUSTOMER,並且它的主鍵是CUSTOMER_ID,則通常索引Customer_Name這樣的列。如果事實表名為SALES,可以使用如下的命令創建索引:
create bitmap index SALES_CUST_NAME_IDX on SALES(CUSTOMER.Customer_Name) from SALES, CUSTOMER where SALES.Customer_ID=CUSTOMER.Customer_ID; |
如果用戶接下來使用指定Customer_Name列值的WHERE子句查詢SALES和CUSTOMER表,最佳化器就可以使用點陣圖連線索引快速返回匹配連線條件和Customer_Name條件的行。
限制使用條件
點陣圖連線索引的使用一般會受到限制:只可以索引維度表中的列。用於連線的列必須是維度表中的主鍵或唯一約束;如果是複合主鍵,則必須使用連線中的每一列。不可以對索引組織表創建點陣圖連線索引,並且適用於常規點陣圖索引的限制也適用於點陣圖連線索引。