On 25/02/2015 14:51, Christian GrĂ¼n wrote:
A cold one which is growing (with scheduled batch ops) but indexed and UPDINDEX=true (for rare update operations that still might occur) and a hot one for realtime data which has no index but whose size will be reduced and kept constant.
This makes perfect sense. You could also think about keeping your large database(s) completely static. The UPDINDEX option will keep your index structures updated, but it doesn't update all database statistics, which can also speed up your queries. But you can simply run some of your queries, or compare the query plans, in order to find out if queries are evaluated slower after an update.
Two facts: 1) I know for sure that index access are boosting the performances significantly because we payed a lot of attention in writing the (semi-generated) queries to hit them.
2) We know that no document can definitely be considered dead so we apply a heuristic for moving docs to cold DB and hope they will rarely be revived.
Thus if I understood correclty: What you propose here is to not have the UPDINDEX=true but rather re-run an "create index *; optimize (all)" after every (hopefully rare) update on the cold DB?
M.