天道酬勤,学无止境

星型连接

【DB笔试面试591】在Oracle中,什么是星型连接(Star Join)?

♣题目 部分 在Oracle中,什么是星型连接(Star Join)? ♣答案部分星型连接(Star Join)通常用于数据仓库类型的应用,它是一种单个事实表(Fact Table)和多个维度表(Dimension Table)之间的连接。星型连接的各维度表之间没有直接的关联条件,其事实表和各维度表之间是基于事实表的外键列和对应维度表的主键列之间的连接,并且通常在事实表的外键列上还会存在对应的位图索引。星型转换可以有效改善大的事实表与多个具有良好选择率的维度表间连接的查询,从而有效避免了全表扫描的性能窘境。星型转换由初始化参数STAR_TRANSFORMATION_ENABLED控制,该参数可以有三种选项:① TRUE:CBO优化器自动识别语句中的事实表和约束维度表并进行星型转换。CBO优化器需要确定转换后的执行计划成本要低于不转换的执行计划.如果利用物化的临时表性能更高,那么CBO优化器还会尝试利用物化的临时表。② FALSE:优化器不会考虑星型转换,为参数STAR_TRANSFORMATION_ENABLED的默认值。③ TEMP_DISABLE:当一个维度表超过100个块时,如果简单地设置STAR_TRANSFORMATION_ENABLED为TRUE来启用星型变换,那么会话会创建一个内存中的全局临时表(Global Temporary Table)来保存已过滤的维度数据

2021-04-20 01:11:48    分类:博客    星型连接