Re: [bdbxml] Cross Query Performance Issues

John Snelson <[email protected]> Tue, 21 Feb 2006 09:44:21 +0000
Newsgroups gmane.comp.db.dbxml.general
Message-ID <[email protected]>
Deepak Jois wrote:
> So, my two questions are :
> - Does DBXML optimise by taking into account the fact that
> enzyme.dbxml has fewer records than upt_swissprot.dbxml

No, not yet - but I don't think that is the problem you are seeing, 
since both queries access the containers in the same order.

> - In any case, why does the first query take a disproportionately long
> time as to not return even within an hour, when the second query which
> seems equivalent returns almost instantaneously.

This puzzled me for a while. My current corollary from looking at the 
query plan for the two queries is that it is to do with the size of the 
expressions on either side of the "=" operator. Can you try this query, 
and see if it is even faster:

for $x in collection("enzyme.dbxml")/gnv_enzyme_pathway/
   db_entry[contains(enzyme_description,"cyclase")]/
   swissprot_reference_list/reference/@swissprot_accession_number
for $z in collection("upt_swissprot.dbxml")/uniprot/
   entry[accession = $x]
return ($z/name, $z/accession)

If this is faster, then that may support my idea of what is going on.

John

-- 
John Snelson, Berkeley DB XML Engineer
Sleepycat Software, Inc
http://www.sleepycat.com

Contracted to Sleepycat through Parthenon Computing Ltd
http://blog.parthcomp.com/dbxml


------------------------------------------
To remove yourself from this list, send an
email to [email protected]