Query caches hold the repository IDs of items that match given queries. When a query returns repository items whose item descriptor enables query caching, the result set is cached as follows:

Subsequent iterations of this query use the query cache’s result set and cached items. Any items that are missing from the item cache are fetched again from the database.

Query caching is turned off by default. If items in your repository are updated frequently, or if repeated queries are rare, the benefits of query caching might not justify the overhead that is incurred by maintaining the cache.

A query cache entry can be invalidated for two reasons:

Note: Queries that include derived item properties are never cached.