[Mondrian] Mondrian Performance Issue with Large Dimensions

Julian Hyde jhyde at pentaho.com
Tue Oct 18 03:19:29 EDT 2011

Pedro asked me a similar question. See my reply to him (below).

It turns out that option #1 is already implemented. Try setting mondrian.olap.elements.NeedDimensionPrefix=true and see whether mondrian generates fewer SQL queries. (You'll have to write more explicit MDX of course.)



On Saturday, September 24, 2011, Julian Hyde wrote:

> Ideas to improve "large dimension" performance:
> 1. Add option that forces strict name resolution. You would not be able to write [M], you would have to write [Gender].[M]. Therefore if you wrote [Customers] mondrian would not look for a root member called "Customers" in every dimension.
> 2. Specify root members in the schema. E.g.
> <Attribute name='Gender' ... >
>  <Members>
>   <Member key='F'/>
>   <Member key='M'/>
>  </Members>
> </Attribute>
> 3. Use aggregate tables to find level members. This proposal is flawed, because only 'non empty' members would come back. For example, if you asked for [Time].[Year].members, 2012 would not be returned from the agg table, because we have not yet made a sale in 2012. We would need a way to specify that this approximation is safe for a given level.

More information about the Mondrian mailing list