[Mondrian] Understanding queries: "products"."product_name" = 'Locations.Countries'

Pedro Alves pedro at neraka.no-ip.org
Mon Feb 16 08:05:51 EST 2009

Hello everyone.

In the endless effort of trying to optimize mondrian's performance, there's
an issue that's been bugging me for a while.

It's very normal to see mondrian querying for different dimensions, like in
[mondrian.rolap.RolapUtil] SqlMemberSource.getMemberChildren]:

    "products"."product_name" as "c0"
    "products" as "products"
    "products"."product_name" = 'Locations.Countries'
group by 
order by 
    "products"."product_name" ASC
, exec+fetch 500 ms, 0 rows

While 500ms on it's own is not important (ok, I'm lying, it is :) ), the
sum of all this type of queries is very relevant. I'm sure the schema is
correct - at least to the best of my knowledge. The query is very simple

 with set a as 
'([Date].[All].[2009].[1].[14].[2009-01-14] :
  member [Date].[Date Range] as 'Aggregate([a])'
  member [Measures].[Avg] as 'Avg([a], [Measures].[Total Requests])'
  set rowSet as '{[a]}'
  set colSet as '{Order(Descendants([Locale Codes], [Locale Codes].[Code]), Avg([a], [Measures].[Total Requests]), BDESC)}'
  set rowFilter as '[rowSet]'
  set colFilter as '[colSet]'
select [colFilter] ON COLUMNS,
  NON EMPTY [rowFilter] ON ROWS
from [BlockList Analysis]
where [Products].[All].[Firefox]

Any insights here? Am I forgetting any property?


Pedro Alves

More information about the Mondrian mailing list