Hi I am seeing performance issue on SQL2 queries vs XPATH Queries : Jackrabbit 2.20.0
We have structured own document node like this: docNode (some "system" properties) - propertiesNode (properties of the document) o contentNode (contains the main file) o attachmentsNode (contains some attached files) * doc1 * doc2 * ... o wordingsNode ( translations) - extractedTextsNode ( contains the text extracted of files of the document) o text1 o text2 o ... All index of the nodes extractedTextsNode/* are aggregated in the node extractedTextsNode I have a test base with less than 10 000 documents. And the following SQL query is very slow: about 1 minute to find 3854 uuid SELECT object.[jcr:uuid] AS [object.jcr:uuid] FROM [kmdata:object] AS object INNER JOIN [kmdata:properties] AS properties ON ISSAMENODE(properties, object, [kmdata:propertiesNode]) LEFT OUTER JOIN [nt:folder] AS extractsFolderSelector ON ISSAMENODE(extractsFolderSelector, object, [kmdata:extractedTextsNode]) LEFT OUTER JOIN [kmdata:wordings] AS wordings ON ISSAMENODE(wordings, properties, [kmdata:wordingsNode]) WHERE ISDESCENDANTNODE(object, [/kmdata:root]) AND ( CONTAINS(object.[kmdata:name], 'tomber') OR CONTAINS(properties.*, 'tomber') OR CONTAINS(extractsFolderSelector.*, 'tomber') OR CONTAINS(wordings.*, 'tomber') ) ORDER BY wordings.fr, object.[kmdata:name] The following XPATH query is faster : about 10 seconds to find the 3854 uuids kmdata:root//element(*,kmdata:object) [ ( ( jcr:contains(@kmdata:name, 'tomber') or jcr:contains(@kmdata:propertiesNode/kmdata:contentNode/kmdata:fileName, 'tomber') or jcr:contains(kmdata:propertiesNode, 'tomber') or jcr:contains(kmdata:extractedTextsNode/*, 'tomber') or jcr:contains(kmdata:propertiesNode/kmdata:wordingsNode, 'tomber') ) ) ] order by kmdata:propertiesNode/kmdata:wordingsNode/@fr ascending, @kmdata:name ascending Is it possible to improve performance of SQL2 or I have to translate the SQL2 query to XPATH query ? Is there a utility to do this translation ? Thanks for any help