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