The use of parameters on AOS(Ax3.0)

Can someone explain the use and consecuences for the parameters?

  • Literals in join queries from forms and reports
  • Literals in complex joins in X++

I have located that these parameters disturb the use of parametersniffing and solves a

performance problem for me if I inactivate them.

But now I need to know if I can expect other problems by deactivating the parameters.

Literals and placeholders impact how query execution plans are constructed and reused in DBMS.

If literals are used, execution plan is built for specific values - it can use the best optimizations, but it can’t be reused for other values and a new execution plan must be built for them (which takes some time).

If placeholders are used, all queries with the same structure can reuse the execution plan. On the other hand, it can be suboptimal.

You can find more information (including the definition of “complex joins”) somewhere in documentation, but I don’t remember the exact place.