On 11 Sep 2012, at 12:55am, Keith Chew <keith.c...@gmail.com> wrote:

> Durability means a transaction cannot be lost

When is a transaction a transaction.  Under the definition of ACID a 
transaction is a transaction as soon is your COMMIT returns with a non-error 
result code.

> , and I know FULL (1)
> will provide that. The question is why NORMAL (1) cannot provide the
> same.

Because NORMAL doesn't flush changes to disk after every single transaction.  
It queues a few of them up and flushes them all in one go.  This makes things 
far faster because it's the flushing to disk which takes a lot of time.  So 
your payoff equation is this:

NORMAL) Faster but if you lose power more transactions are lost, but the 
database is still not corrupt.
  FULL) Every COMMIT will take more time, but a power-failure can lose a 
maximum of one transaction.

Just to remind you, all this depends on your hardware supporting ACID.  Which 
almost no hard disks do.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to