Hi,

this code:

            QueryManager qm = session1.getWorkspace().getQueryManager();
            Query q = null;
            String queryString = "//*...@a_filename = '" + "1761.pdf" + "']";
            q = qm.createQuery(queryString, Query.XPATH);
            System.out.println((new GregorianCalendar()).getTimeInMillis()+" 
XPath Query created...");
            QueryResult result = q.execute();
            System.out.println((new GregorianCalendar()).getTimeInMillis()+" 
XPath Query performed...");

Produced:

1282136144493 XPath Query created...
1282136144509 XPath Query performed...

= 16 milliseconds

The same sql code:

            QueryManager qm = session1.getWorkspace().getQueryManager();
            Query q = null;
            String queryString =
                "select * from [nt:base] where a_filename = '1761.pdf'";
            q = qm.createQuery(queryString, Query.JCR_SQL2);
            System.out.println((new GregorianCalendar()).getTimeInMillis()+" 
Query created...");
            QueryResult result = q.execute();
            System.out.println((new GregorianCalendar()).getTimeInMillis()+" 
Query performed...");

Produced:

1282136145509 Query created...
1282136256319 Query performed...

= 110810 milliseconds

What can I do, to get nearly the same performance with sql as I get with XPath?

Kindly regards,

Robert Seidel

Reply via email to