On 13 April 2011 15:33, Simon Slavin <slav...@bigfraud.org> wrote:
>
> On 13 Apr 2011, at 12:14pm, James Green wrote:
>
>> sync=full does not work well for our app (no transactions). Far too slow.
>
> If you're not syncing, then section 3.2 of the page Richard probably 
> indicates what's causing your corruption.

Without a reset or power loss? This is the bit that's causing concern.

> So for a while, leave that PRAGMA alone, accept that you're going to get slow 
> running, and see whether this makes the corruption go away.  If it does then 
> you can tackle the speed problem separately without worrying about data 
> corruption.

This is the approach we will be rolling out. More specifically we'll
be trying synchronous=normal. It will likely take a few days before we
can roll this out and evaluate.

> It might be worth trying to figure out whether your storage system can handle 
> the speed you're expecting.  If you have multiple threads all trying to write 
> at the same time can your hard disk handle that much data at that speed ?  If 
> not, then that's probably why you're finding the use of 'sync' to be too slow.

We can say that SQL Server survives just fine. We are not hitting the
disk but hundreds of megabytes of changes. One of our operations has
the following times:

sync=FULL: 3m 43s
sync=OFF: 10.5s

We're talking approximately 2,000 rows consisting of 3x 32-char string
columns and 2x booleans. This is without WAL mode and without
transactions.

Worth noting is that we only have one test environment in which we can
get corruption to occur and we cannot get it to happen at will. All
other test systems operate fine without corruption with sync=OFF.

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

Reply via email to