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