Hello,
I asked this question in StackOverflow concerning some performance problems I experienced when inserting nodes into a BaseX database:
https://stackoverflow.com/questions/51595210/basex-inserting-nodes-performance-problems
I already made some progress, especially when it comes to querying all data I need for the updates. I work a lot with the indexes now.
But I still have problems with inserting - and also deleting - nodes. It doesn't matter if I insert/delete nodes via a Java program or in the editor of the BaseX GUI: Both is quite slow. Inserting just one node in the GUI with an XQuery like this one takes
up to 3 seconds:
insert node <related_record><title>Test title</title><author>Joe Lastname</author></related_record> into db:open-id('Database_Name', 7947561)
Deleting a node with the following command takes up to 7 seconds:
delete node db:open-id('Database_Name', 88085737)
The problem is that in my case, I have to do about 150000 inserts and deletes, so it would take too much time.
Maybe my database is just too big to be performant? Or some settings are wrong? I'm very new to BaseX (and XML databases in general) so maybe there are just some errors I don't see. I also give you some information on my database that I copied from the info
screen of the BaseX GUI:
Database Properties
NAME: Database_Name
SIZE: 2568 MB
NODES: 135607105
DOCUMENTS: 1
BINARIES: 0
TIMESTAMP: 2018-08-07T07:05:56.000Z
UPTODATE: true
Resource Properties
INPUTPATH: /path/to/file.xml
INPUTSIZE: 1774 MB
INPUTDATE: 2018-07-24T14:32:58.000Z
Indexes
TEXTINDEX: true
ATTRINDEX: true
TOKENINDEX: false
FTINDEX: false
TEXTINCLUDE:
ATTRINCLUDE:
TOKENINCLUDE:
FTINCLUDE:
LANGUAGE: English
STEMMING: false
CASESENS: false
DIACRITICS: false
STOPWORDS:
UPDINDEX: true
AUTOOPTIMIZE: false
MAXCATS: 100
MAXLEN: 96
SPLITSIZE: 0
Best regards,
Michael