[yunqa.de] In memory db question

  • From: "email@xxxxxxxxxx" <email@xxxxxxxxxx>
  • To: yunqa@xxxxxxxxxxxxx
  • Date: Thu, 03 Jan 2013 18:38:20 +0100

Hi,

I have a code that looks like this:

// ============================================ //
PreparesStatement := DB.Prepare('INSERT OR IGNORE INTO MYTABLE...');

DB.StartTransaction;
for i := 0 to 100000 do
begin
        PreparesStatement.Bind_Int(1, var1);
        PreparesStatement.Bind_Str(2, var2);
        ...
        PreparesStatement.StepAndReset;
end;

DB.Commit();
// ============================================ //

I'm using the WAL mode. If I'm not mistaken, using this code pending INSERTs are put in a temporary files until I commit.

I was wondering if, in order to speed up INSERTs (I have a lot of data, much more than 100K), I could put the pending INSERTs in an in-memory db then write once when committing at the end.

I know I would use more RAM, but that's OK in my case. And, ACIDity wouldn't be sacrificed because pending INSERTs are lost anyway in case of a crash.

Is this possible?

Thanks!
_______________________________________________
Delphi Inspiration mailing list
yunqa@xxxxxxxxxxxxx
//www.freelists.org/list/yunqa



Other related posts: