string-join and ancestor axis query very slow

"Liuzzo, Pietro" <[email protected]> Fri, 30 Aug 2024 07:11:18 +0000
Newsgroups gmane.text.xml.exist
Message-ID <[email protected]>
Dear all,

I am facing a strange issue, and I wonder if anyone has any ideas about it.

I have been using a simple string-join on the result of an xpath on the ancestor axis without any issues and with very fast results, e.g.

let $ancs := $file/ancestor::tree:directory
return
    replace(string-join($ancs/@name, '%2F'), '\./', '’)

Now however this kind of queries take a lot of time. I had never seen these function appearing in profiling, so it must have been so fast to never make it up the list, whereas now it is reported with a major jump in time consumed (see below).

replace /db/apps/hertziana/modules/app.xql [885:21]     120     42.136
string-join     /db/apps/hertziana/modules/app.xql [885:29]     120     42.13
seo:Catalog     /db/apps/fotothek/modules/seo.xqm [-1:-1]       6       24.413

The “tree" document in question is rather large, but it always was and was not an issue at all.

Since I have not done any recent update to the application or the data or the indexes I am wondering what could have gone wrong and what I can do to recover the previous performance.

Thanks a lot for any ideas about this

all best
Pietro

_______________________________________________
Exist-open mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/exist-open