Understanding derived table execution sequence

I’ve read the tutorials several times and thought I understood but am perplexed by my workflow not working as anticipated.

Setting up a test use case, I anticipated the flow to execute as shown with the blue circles.

However, what really happens is the yellow triangle sequence.

What am I missing?

Once a workflow becomes non-linear, there is no determined sequence of execution. The basic principle is as follows:


In the image above, tables “Derived A” and “Derived B” will be executed simultaneously (i.e., in parallel). However, if the CPU has too few cores to support a high degree of parallelism, then they can be executed one after another, in any order - A-then-B, or B-then-A, depending on the availability of CPU cores.

All in all, you shouldn’t worry about the execution order, EasyMorph takes care of it. If you need to enforce a specific order of execution of actions in independent tables, use the “Synchronize” action.