Hmmm.
The root of this problem appears to be that we always use in-memory indexes for
temporary tables because we do
data.persistIndexes = false
in the ResultTempTable constructor.
In this particular case, since you are
(a) querying all the rows of a very large table,
(b) with a sufficiently complex query that we end up creating a temp table,
we eventually end up consuming a very large amount of memory.
I don't have a quick fix for this. For the moment, all I can suggest is somehow
limiting the size of your query.
I'm not sure what the performance impact of just always persisting indexes
would be.
I suspect not that much since by the time you start creating temporary tables
you're going to be heavily IO bound anyhow.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.