<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16640" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=813184322-03032009><FONT face=Arial
color=#0000ff size=2>Matt,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=813184322-03032009><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=813184322-03032009><FONT face=Arial
color=#0000ff size=2>Are you doing native evaluation? We found a
case where Mondrian was doing non-native evaluation based on how the MDX
was structured which had a huge impact on performance.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=813184322-03032009><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=813184322-03032009><FONT face=Arial
color=#0000ff size=2>Check to see whether the crossjoin is being
pushed down natively to the database.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=813184322-03032009><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=813184322-03032009><FONT face=Arial
color=#0000ff size=2>-Peter</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> mondrian-bounces@pentaho.org
[mailto:mondrian-bounces@pentaho.org] <B>On Behalf Of </B>Matt
Campbell<BR><B>Sent:</B> Tuesday, March 03, 2009 4:25 PM<BR><B>To:</B> Mondrian
developer mailing list<BR><B>Subject:</B> [Mondrian] Re: Performance
degradation<BR></FONT><BR></DIV>
<DIV></DIV>I was able to reproduce this issue with a very simple Foodmart query.
The following runs in under 2 seconds with changelist 10915. It now
takes around 55 seconds with 12403. From the little investigation I've
done it looks like most time is spent in executeStripe().
<DIV><BR></DIV>
<DIV>It's interesting, if I eliminate either part of the set the time drops back
down to ~2 seconds--i.e. eliminate either the GENERATE() or the
{Product.DEFAULTMEMBER, [Yearly Income].DEFAULTMEMBER}. If they are <SPAN
class=Apple-style-span style="FONT-STYLE: italic">both</SPAN> present,
though, it takes 55 seconds.<BR>
<DIV><BR></DIV>
<DIV>SELECT
<DIV>
{GENERATE({[Product].[Product Name].MEMBERS},</DIV>
<DIV> CROSSJOIN(
{([Product].CURRENTMEMBER)},</DIV>
<DIV> {[Yearly Income].[Yearly
Income].MEMBERS}), ALL),</DIV>
<DIV>
{([Product].DEFAULTMEMBER,[Yearly Income].DEFAULTMEMBER)}
</DIV>
<DIV>}</DIV>
<DIV> ON AXIS(0)</DIV>
<DIV>FROM</DIV>
<DIV> [Sales] ;</DIV>
<DIV><BR></DIV>
<DIV>
<P class=MsoNormal><BR></P>
<DIV class=gmail_quote>On Tue, Mar 3, 2009 at 11:03 AM, Matt Campbell <SPAN
dir=ltr><<A href="mailto:mkambol@gmail.com">mkambol@gmail.com</A>></SPAN>
wrote:<BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><BR>
<DIV>During a run of a performance test we noticed a fairly significant
increase in query time for queries involving very large numbers of cells.
We actually hadn't run this particular test in nearly a year, so the
comparison is between changelist 10915 and 12403.</DIV>
<DIV><BR></DIV>
<DIV>The query <SPAN style="FONT-STYLE: italic">is</SPAN> ridiculously
large--nearly 200K tuples, intersected with 12 measures. With 10915 this
query ran in a little over an hour. With 12403 it runs for over 5
hours.</DIV>
<DIV><BR></DIV>
<DIV>I haven't investigated much yet. I'm going to create simple
Foodmart query to try to reproduce, and then I'll try to narrow down where the
bottleneck is. I wanted to post, though, in case anyone has thoughts
about this.</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV></BLOCKQUOTE></DIV><BR></DIV></DIV></DIV></BODY></HTML>