[Mondrian] performance impact of having several cross joins of dimensions at the All level

Robin Tharappel rtharappel at prospricing.com
Wed Aug 29 21:25:16 EDT 2007


Hello, 

 

We have observed a significant slow down in performance when the there
are several nested NonEmptyCrossJoin calls in an MDX query. Below is an
example query that shows the non empty cross join of about 40
dimensions, however only 3 dimensions are not at the All level ( Dim18,
Dim20, and Dim28). We see a substantial improvement in performance when
the dimensions at the All level are removed. The performance impact
appears to be in lower CPU utilization for Mondrian. Since the other
dimensions are at the All level the expectation is that not much
processing would not be required for them. What is the overhead incurred
for a dimension at the All level in this case ? 

 

WITH SET [#DataSet#] as
'NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin(NonEmptyCrossjoin
(NonEmptyCrossjoin(NonEmptyCrossjoin({[Dim1].[All]}, {[Dim2].[All]}),
{[Dim3].[All]}), {[Dim4].[All]}), {[Dim5].[All]}), {[Dim6].[All]}),
{[Dim7].[All]}), {[Dim8].[All]}), {[Dim9].[All]}), {[Dim10].[All]}),
{[Dim11].[All]}), {[Dim12].[All]}), {[Dim13].[All]}), {[Dim14].[All]}),
{[Dim15].[All]}), {[Dim16].[All]}), {[Dim17].[All]}),
{Descendants([Dim18].[All], 3)}), {[Dim19].[All]}),
{[Dim20].[All].Children}), {[Dim21].[All]}), {[Dim22].[All]}),
{[Dim23].[All]}), {[Dim24].[All]}), {[Dim25].[All]}), {[Dim26].[All]}),
{[Dim27].[All]}), {Descendants([Dim28].[All], 3)}), {[Dim29].[All]}),
{[Dim30].[All]}), {[Dim31].[All]}), {[Dim32].[All]}), {[Dim33].[All]}),
{[Dim34].[All]}), {[Dim35].[All]}), {[Dim36].[All]}), {[Dim37].[All]}),
{[Dim38].[All]}), {[Dim39].[All]}), {[Dim40].[All]}), {[Dim41].[All]}),
{[Dim42].[All]}), {[Dim43].[All]})' SELECT {[Measures].[Measure1],
[Measures].[Measure2], [Measures].[Measure3]} on columns, NON EMPTY
Hierarchize({[#DataSet#]}) on rows FROM [Transaction]

 

Thanks,

 

Robin

 



The information contained in this email may be confidential and/or legally privileged. It has been sent for the sole use of the intended recipient(s). If the reader of this message is not an intended recipient, you are hereby notified that any unauthorized review, use, disclosure, dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please contact the sender by reply email and destroy all copies of the original message. Thank you


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20070829/13981fca/attachment.html 


More information about the Mondrian mailing list