The query processor may return a different query plan depending on whether you configure set plan optgoal for allrows_oltp, allrows_mix, or allrows_dss (unless you force a plan with forceplan):
allrows_oltp – the query processor uses the nested-loop join operator.
allrows_mix – the query processor allows both nested-loop joins and merge joins. The query processor measures their relative costs to determine which join it uses.
allrows_dss – the query processor uses nested-loop, merge-, or hash-joins. The query processor measures their relative costs to determine which join it uses.