为什么Mondrian在获得结果之前要执行那么多SQL?

时间:2019-06-12 12:53:53

标签: olap mondrian

Mondrian似乎在获取聚合结果之前运行了许多groupby sql,例如

select
    `t`.`year` as `c0`
from
    `table` as `t`
where
    UPPER(`t`.`c0`) = UPPER('1997')
group by
    `t`.`c0`
order by
    ISNULL(`c0`) ASC, `c0` ASC

当切片器包含多个值时,例如{[Time].[1997],[Time].[1998],[Time].[1999]},Mondrian将为每个值执行一个groupby sql。

我的mdx在一维中包含数百个值,因此执行这些sql经常会花费太多。即使从缓存中检索,它们仍然可以执行,而直接使用值查询缓存似乎更合理。 有人知道原因吗?非常感谢。

0 个答案:

没有答案