Tamino XML Server Version 9.7
 —  Performance Guide  —

Efficient Queries: X-Query

The following sections present guidelines for efficient querying with X-Query:


Efficient X-Queries

X-Query processing involves a pre-selection and a post-selection step. In the pre-selection step, the indexes are used to select a subset of the final result set. In the post-processing step, this set is further restricted by applying the filter predicates that cannot be evaluated by an index access. This post-processing step involves the detailed analysis of each record contained in the intermediate result set.

If the preselection state is missing, it means that the whole doctype has to be read. Even for queries that have a small result this will cause a large response time. You can easily determine if a pre-selection is used if you include your query string into ino:explain (see next section The X-Query Function ino:explain). Tamino tells you whether your query involved pre-selection or/and post-processing.

Here are a few more guidelines for efficient querying:

For further examples and more information, see the Advanced Concepts Guide on efficient querying.

Top of page

Very Fast Queries

The following hints apply only for queries which need to be executed as fast as possible, meaning that it is important if they run 100 or 200 milliseconds (e.g. if they should run in parallel against a Tamino Server).

If you run queries via HTTP, it is possible with certain environments that the HTTP GET method has a better performance than the HTTP POST method. When constructing a high performance application, it may be useful to check the runtimes of a query with GET and POST.

Here is a list of hints for X-Query syntax:

Top of page