Tamino performance and the TSensitive parameter

We’re using Tamino 4.2 in one of our projects and noticed the database performance improves significantly (by factor 20!) if we specify TSensitive.VAGUE instead of TSensitive.NO

However, if we perform the same XQuery directly using an HTTP post request, performance improves even by factor 50 instead of 20. Looking at the database XML logs, it seems that in this case, no _sensitive parameter is processed by Tamino at all.

I’ve been able to add an empty TSensitive type (or one containing “yes” or “whatever”) to the Tamino API and use this performing an XQuery. And now a call using the TaminoAPI4J also improves our XQuery speed by factor 50 compared to TSensitive.NO :confused:

My questions are:

  • what is the impact of specifying an ‘illegal’ _sensitive parameter at all, compared to TSensitive.NO or TSensitive.VAGUE?
  • why does this perform much better than the values “no” or “vague”?
  • why isn’t there an option in the TaminoAPI4J to ‘unset’ the _sensitive parameter?

When using TSensitive.NO the entire query will be executed before you get the first result. When running a cursor with TSensitive.VAGUE then query results will be generated on demand. Thus, depending on the query result size and the choosen TSensitive value the response time for a cursor open request can vary.

If an illegal _sensitive parameter value reaches the server then you get a response INOXYE8552 indicating an “invalid request”.

I have no idea, how the TaminoAPI4J processes illegal values. I know that the TaminoAPI4J does some processing on query results but I do not know any details, especially I do not know the performance impacts.