2016-04-17 12:03 GMT+02:00 Simon Slavin <slavins at bigfraud.org>: > > On 17 Apr 2016, at 10:38am, Cecil Westerhof <cldwesterhof at gmail.com> > wrote: > > > I start with a: > > ? > > > > ?conn.setAutoCommit(false); > > but that is not the same? > > Yes, that does the same as BEGIN ... END. At least, according to the > documentation it does. > > But you caused me to look up how the JDBC works, especially for operations > which involve a lot of memory. It turns out that this is not a 'thin' shim > which just translates Java calls to SQLite. It's a 'thick' shim and does > lots of things between the two to make all its databases look like they > work the same way. >
Another field I should expand my knowledge in. ;-)? The result of this is that almost everything you see resulting from your > calls is done by JDBC, not SQLite. This includes whatever caused your > initial query about some operations taking a long time. Whatever it is, > it's probably some consequence of how JDBC works, not how SQLite works, and > experts on Java are going to understand it better than experts on SQLite. > > You can probably verify this by downloading the SQLite shell tool and > performing the same operations in it (e.g. DROP TABLE) as you do in your > Java code. I'm betting you don't get the same slowdowns in the same places. > ?Another two hours before the database is filled and then I can start experimenting on copies of it. ?Well the ?simple? exercise was not so simple, but it helps to understand things better. :-) -- Cecil Westerhof

