交叉联接层次结构的执行顺序 [英] Execution order of crossjoined hierarchies

查看:118
本文介绍了交叉联接层次结构的执行顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我通过以下交叉连接创建一组元组,则哪个层次结构首先连接到哪个元组?

If I create a set of tuples via the following crossjoin which hierarchy is joined to which first?

hierA * hierB * hierC

如果我知道A和B中非空成员的数量显着少于C中成员的数量,那么这会影响顺序吗?

If I know that the count of non empty members in A and B are significantly less than the count of members in C then should this influence the order?

推荐答案

这取决于所使用的执行系统,即编译器如何优化轴上的交叉连接.

It depends on the execution system used, i.e. how crossjoining on axis is optimized by compiler.

无论如何,只有首先使用subselect减小立方体大小,您才能获得真正的提升-它将防止交叉连接的不匹配点:

Anyway, you will get real boost only if you first reduce cube size with subselect - it will prevent crossjoining non-matching points:

select
 { [Measures].[X] } on 0,
 { [DimA].[A] * [DimB].[B] } on 1
From ( 
             select { [DimB].[B].members}   on 0 
             from CubeA
           )

这篇关于交叉联接层次结构的执行顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆