Hi ,

I am using BaseX for my XML base application. In  my application user
provides various data filtration criteria. After passing the data
through all the filters resultant data is processed for evaluation.
For each filter we have created corresponding xquery and output of each
filter is passed as input to the next filter for further filtration.

What I notice is query execution time  except for the first query is
very high. From query plan I observed that for the first query indexing
was being applied but not for the rest. This may be the case as the
subsequent queries where getting fired on the data(sequence created by
preceding query) passed on by the previous filter. This was not observed
when the  xml file was of smaller size , but as I increased the size of
xml to 300 MB each query started taking times in minutes.


I tried following thing

I fired all the filter queries on the database to take advantage of
indexing and after every filter execution , I took intersection of
output sequence generated  by each filter to keep track of final
filtered data. The problem with above solution is , intersection query
between larger sequence of data started tacking time large amount of time.


Is there a way I can increase the performance.

Thanks,

Ankit

Reply via email to