TransferDb.putData(String statement, TransferResultSet
r, int iMaxRows)
That is quite slow. Mainly because in
TransferDb.transferRow there is a temp variable sLast
that gets costly values assigned but is never used.
The other reason is that no proper blockwise read added.
Another point is that r.getColumnType is used quite
transferRow. I reduced this to one time per table that
gave 10% speed enhancement.
I did a sublass of ScriptReaderBinary that also writes
out indizes. When a RAM database is read again then
this speeds about about 25%.
HsqlProperties tmpProperties =
Database tmpDB =
".", true, tmpProperties);
RamdbReader scr = new RamdbReader(tmpDB, FILENAME, true);
The zipped versions of the reader and writers are
superfluous because they add only a simply property
(zipped stream). This is better done in a superclass in
order to allow easy subclassing.
I added a transfer class SimpleTableTransfer that
extracts all tables from a set from another database
into hypersonic. It only creates foreignkey constraints
that point to table of the transfered set.
stephan dot frind at t-online dot de