Hello, 

I am doing some performance analysis on size of XML files in DB, no of records in a result set and how much time it takes to get me results.

Currently, I have 150GB worth of XML documents imported into BaseXDB. It took roughly 21 minutes to return back result set worth 5.3 million records.

Queries are of below form:

http://localhost:8984/rest?run=get_query.xq&n=/Archives/*/descendant::c/descendant::a[contains(@name,"xyz")]/@name/data()

XQUERY File:
for $db in db:list()
        (: Assign dynamic variables to generate query, to be used in eval :)
        let $query := "declare variable $db external; " || "db:open($db)" || $n
        return xquery:eval($query,map { 'db': $db, 'query': $n })


I have been few questions around this.

1. I have been routinely advices on this email chain, to avoid serialization from XPATH and let xquery handle it. I tried a few things like replacing strings() with data(), adding serialization option on REST call, in XQUERY file etc. But, I don't see any performance gain. Is there something else I can try or something, I am doing wrong ?

2. Does anyone have any resource to compare this performance to other NoSQL databases. I am just very curious, how above performance numbers compares to other DBs ?

- Mansi