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经常会花费太多。即使从缓存中检索,它们仍然可以执行,而直接使用值查询缓存似乎更合理。 有人知道原因吗?非常感谢。