Hi ObjectDB team,
we are currently investigating performance issues that affect some of our customers. Unfortunately, we are not yet able to reproduce issues in a test case, so we rely on reports and log files from customers.
During internal analysis and discussions, we had some general questions - maybe you can clarify some of them:
- Database file page size: the default is 2kb and the documentation says, that should be fine for most applications. Are there scenarios you know of, that perform better with bigger page sizes (e.g. if an Entity has 'a lot' of member fields)?
- Order in WHERE clause of a query: so far we are not optimizing the order of conditions in the where clauses of our queries. Would it make sense to have indexed fields first and then the others, or is that something that the query compiler/optimizer is doing automatically? For example, Entity TestObject has fields id and date where id is indexed and date is not. Would it make sense to have "WHERE $1.id > ... AND $1.date >= ..." instead of "WHERE $.date >= ... AND $1.id > ..."?
- We saw that there is a special statement "objectdb statistics": given that we have customers with rather old database instances that where created with older versions of objectdb - would it make sense to run this statement on those databases? Or are the statistics created/updated automatically by some internal mechanism?
Thank you for your support.