> -----Original Message----- > From: Tim Anderson [mailto:[EMAIL PROTECTED] > Sent: 17 January 2004 22:45 > To: [EMAIL PROTECTED] > Subject: [sqlite] Performance...there must be a reason
> What I can't work out is why. The same database is used. The > same Sqlite dll is used. The same pragmas are executed. The > compiler options are identical (unless I've missed a > directive lurking in the code somewhere). > > Just wondering what I'm missing? Solved. The reason is that the faster wrapper issues a BEGIN TRANSACTION on app startup and leaves the transaction open until an update is required. This makes hardly any difference on WinXP and an astonishing difference on Win98. It is no good surrounding the SELECT statement with BEGIN TRANSACTION and ROLLBACK (or COMMIT); this takes just as long. You have to leave the transaction open. Logically a transaction is never necessary for a read-only SELECT. So in a sense it should make no difference, and on WinXP that's the case. But in my test installation of Win98 I get a huge speed-up. Tim --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

