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 xml-unsubscribe-E1rGyZxLSgzby3iVrkZq2A@xxxxxxxxxxxxxxxx
|