通常在事实表上的连接列建立外键,连上维度表的主键。
见以下SQL语句:
点击(此处)折叠或打开
- select s.prod_id,s.cust_id,s.time_id,s.channel_id
-
from sales_A s, products pd, promotions pm, channels ch, countries c
where s.prod_id = pd.prod_id
and s.promo_id = pm.promo_id
and s.channel_id = ch.channel_id
and s.tax_country = c.country_iso_code;

通常在事实表上的外键列上,值的离散度较低,适合建立位图索引。以下是建立位图索引语句:
点击(此处)折叠或打开
- create bitmap index sales_A_prod_bix on
- sales_A ( prod_id );
-
create bitmap index sales_A_promo_bix on
sales_A ( promo_id );create bitmap index sales_A_channel_bix on
sales_A ( channel_id );
create bitmap index SALES_COUNTRY_BIX on
sales_A ( TAX_COUNTRY );
我们需要启用“星形转换”。
星形转换是否启用由参数star_transformation_enabled决定,默认是FALSE。
点击(此处)折叠或打开
- alter system set star_transformation_enabled=TRUE;

注意到对事实表SALES_A的访问方式,由FULL变为了BY USER ROWID。另外,执行计划中BITMAP CONVERSION表示星形转换起了作用。