I am testing on a Oracle/Sun x4800 with 512gig of ram and 80cores on
Solaris.
My test case is importing 1.8gig of data with 1.4million rows using csvread
from a file in /tmp (so in memory).
My usage will be to import 2 massive files, reconcile them, dump the
results to files then exit. So no ACID features needed! Just speed.
Java settings that seem to be best are:
java -verbose:gc -Xmx20G -Xms10G -d64 -server -jar h2*.jar -webAllowOthers
-web -tcp -pg -tcpAllowOthers
I played around with different GC settings but normal GC was best even
though spends about 2 secs GC'ng during test.
Connection settings that work best are:
jdbc:h2:tcp://myserver:9092/mem:h2;LOG=0;LOCK_MODE=0;UNDO_LOG=0;DB_CLOSE_DELAY=-1
or
jdbc:h2:tcp://myserver:9092/mem:t2;LOG=0;UNDO_LOG=0;DB_CLOSE_DELAY=-1;MULTI_THREADED=1;lock_mode=1
both take same amount of time. I do not seem to be able to use LOCK_MODE=0
and MULTI_THREADED=1 at same time?
I tried playing with PAGE_SIZE but makes no difference.
SQL to import is:
CREATE TABLE test as select * from csvread('file.txt',null,'
fieldSeparator=;')
(adding memory makes no difference as memory DB anyway).
Currently get import done in about 43 seconds. Second import takes about 35
seconds.
This is great, but just wanted to check nobody had any magic switches that
would make it run even faster?
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/h2-database/-/7MmQF54-dFkJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/h2-database?hl=en.