I have an MDX query which executes within 7 seconds (Profiler 'Query End' - duration = 7288). The resultset contains +70000 rows, 17 columns, 8928 KB.
Within the SSMS MDXquery window, the execution is finished into the result window within less than 20 seconds.
I want to transform these results into a SQL stored procedure. So the application make use of a linked server to connect the OLAP server (@srvproduct=N'OLAP', @provider=N'MSOLAP', @datasrc=N'localhost'), and executes the MDX by making use of this linked server:
SET @SQL='SELECT * FROM OPENQUERY(OLAP_srv, '''+@MDX+''')'
EXEC sp_executeSQL @SQL
However when I execute the MDX from the OLTP engine, using the linked server, the profiler shows again 7 seconds for the 'Query End', but the result only returns after nearly 2 minutes. Also the profiler shows: 'Audit Logout' - Duration = 117577.
I have tried this from another OLTP server without noticeable difference.
Any idea what’s the reason? Is he losing so much time in transferring the results from OLAP to OLTP server? Is there any possibility to make this faster?