All queries in the Repository Query API are supported in the composite repository. However, a query against the composite repository should use only queries that are supported in the underlying repositories. You can make queries that reference properties of different underlying repositories. Be aware, however, that queries with expressions that involve joins across multiple repositories may be slower than single-repository queries. Queries that may perform extremely poorly are of the form “find all users whose dayPhone is equal to their workPhone,” where dayPhone and workPhone are stored in different repositories. If you construct a complex query that needs to retrieve some properties from one underlying repository and other properties from a separate underlying repository, the query must be broken down into separate queries directed at each repository. The results of the sub-queries are combined appropriately using AND or OR rules and the final result set is returned in the composite repository.

Note in particular that COUNT queries perform poorly if the query spans repository views or if the underlying repository does not support executing count queries. LDAP repositories do not support COUNT queries, for example, and you should avoid using COUNT queries if any part of the result set might come from the LDAP repository.