go to post Joe Gallant · Dec 14, 2015 You should use %ExecuteAsynch. The %ExecuteAsynch method uses multiple DeepSee agents do to the work. The %Execute method only uses only 1 process (the current process) to do all the work. This is why %Execute is slower than you saw with Analyer, which uses %ExecuteAsynch. So change your code to this: Set tSC = oMDX.%ExecuteAsynch(,,1) Here is the method signature of %ExecuteAsync method %ExecuteAsynch(Output pQueryKey As %String, ByRef pParms, pWait As %Boolean = 0) as %Status The 3rd argument of 1 indicates that you want to wait until the query is completed before the method completes. If you don't wait until the query is complete (pWait = 0), then your code can proceeed without waiting for the query to complete. Then you can later use the instance method %GetStatus or the classmethod %GetQueryStatus to check if the query is complete.