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.

Reply via email to