<div dir="ltr">Hello folks,<div><br></div><div>I had a query about MDX query performance between Saiku 2 and 3 and so we did some testing and I&#39;d like some expert analysis if anyone has a spare 10 minutes:</div><div><br></div><div><div style=""><div style="font-size:12.8px">SELECT</div><div style="font-size:12.8px">NON EMPTY {Hierarchize({[Measures].[Unit Sales]})} ON COLUMNS,</div><div style="font-size:12.8px">NON EMPTY Hierarchize(Union(CrossJoin([Time].[Year].Members, CrossJoin({[Store].[USA].[OR]}, CrossJoin([Customers].[Name].Members, [Product].[Product Name].Members))), Union(CrossJoin([Time].[Year].Members, CrossJoin(Filter({[Store].[USA].[OR].[Portland]}, (Exists(Ancestor([Store].CurrentMember, [Store].[Store State]), {[Store].[USA].[OR]}).Count  &gt; 0)), CrossJoin([Customers].[Name].Members, [Product].[Product Name].Members))), Union(CrossJoin({[Time].[1997].[Q3]}, CrossJoin({[Store].[USA].[OR]}, CrossJoin([Customers].[Name].Members, [Product].[Product Name].Members))), CrossJoin({[Time].[1997].[Q3]}, CrossJoin(Filter({[Store].[USA].[OR].[Portland]}, (Exists(Ancestor([Store].CurrentMember, [Store].[Store State]), {[Store].[USA].[OR]}).Count  &gt; 0)), CrossJoin([Customers].[Name].Members, [Product].[Product Name].Members))))))) ON ROWS</div><div style="font-size:12.8px">FROM [Sales]</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">This is the MDX created by an old Saiku 2.6 server and the query executes in about 20 seconds.</div><div style="font-size:12.8px"><br></div><div style=""><div style=""><span style="font-size:12.8px">with set [~Time_Time_Year] as &#39;Exists({[Time].[Time].[Year].Members}, [~Time_Time_Quarter])&#39;</span></div><div style=""><span style="font-size:12.8px">  set [~Time_Time_Quarter] as &#39;{[Time].[Time].[1997].[Q3]}&#39;</span></div><div style=""><span style="font-size:12.8px">  set [~ROWS_Time_Time] as &#39;Hierarchize({[~Time_Time_Year], [~Time_Time_Quarter]})&#39;</span></div><div style=""><span style="font-size:12.8px">  set [~Store_Stores_Store State] as &#39;{[Store].[Stores].[USA].[OR]}&#39;</span></div><div style=""><span style="font-size:12.8px">  set [~Store_Stores_Store City] as &#39;Exists({[Store].[Stores].[USA].[OR].[Portland]}, [~Store_Stores_Store State])&#39;</span></div><div style=""><span style="font-size:12.8px">  set [~ROWS_Store_Stores] as &#39;Hierarchize({[~Store_Stores_Store State], [~Store_Stores_Store City]})&#39;</span></div><div style=""><span style="font-size:12.8px">  set [~ROWS_Customer_Customers] as &#39;{[Customer].[Customers].[Name].Members}&#39;</span></div><div style=""><span style="font-size:12.8px">  set [~ROWS_Product_Products] as &#39;{[Product].[Products].[Product Name].Members}&#39;</span></div><div style=""><span style="font-size:12.8px">select NON EMPTY {[Measures].[Unit Sales]} ON COLUMNS,</span></div><div style=""><span style="font-size:12.8px">  NON EMPTY (Crossjoin(Crossjoin(Crossjoin([~ROWS_Time_Time], [~ROWS_Store_Stores]), [~ROWS_Customer_Customers]), [~ROWS_Product_Products])) ON ROWS</span></div><div style=""><span style="font-size:12.8px">from [Sales]</span></div><div style=""><span style="font-size:12.8px"><br></span></div><div style=""><span style="font-size:12.8px">This is the much cleaner MDX from the 3.x server, but this query timesout every time. Can someone shed any light on why the performance is so much worse? I&#39;ve tried cellbatch size and stuff but none of it makes a shred of difference.</span></div><div style=""><span style="font-size:12.8px"><br></span></div><div style=""><span style="font-size:12.8px">Thanks</span></div><div style=""><span style="font-size:12.8px"><br></span></div><div style=""><span style="font-size:12.8px">Tom</span></div></div></div></div></div>