Hello everyone,

(CAUTION: Lengthy email, but very interesting issue and hence requesting your 
attention to help)

My application uses 3 SQLite DBs with varying degrees of usage (which I will 
explain below). After reading about WAL mode, switched all my DBs from delete 
to wal. I'm however disappointed with the outcome and do not see any 
significant increase in performance levels (or in some cases less performance 
as before).

These are the two PRAGMA statements I executed to switch to WAL mode:
PRAGMA journal_mode = wal;
PRAGMA wal_autocheckpoint = 10;

Now I know that the default wal_autocheckpoint is 1000, does it affect either 
positive or negatively with my current value of 10?

I'm also giving some usage statistics on the DB which will help you guide me 
with the mode and settings:
1. DB-1
About 190+ SELECT, INSERT, DELETE statements executed every 10 secondsĀ  
(whether in idle or use)
- of which 80% are SELECT statements
- remaining 20% DELETE and INSERT statements

2. DB-2
- about 20+ SELECT statements per minute when idle
- about 60+ SELECT, DELETE and INSERT statements per minute when use
(of which 90% are SELECT, 10% are DELETE\INSERT)

3. DB-3
- about 380+ SELECT, INSERT, DELETE statements executed every 24 hours (whether 
in idle or use)
- of which 95% are SELECT statements
- remaining 5% DELETE and INSERT statements

After analyzing the above DBs, can you please suggest me the best approach per 
DB?
Should I be using WAL in the first instance for all the DBs?
What should be the ideal settings for WAL usage per DB?
Any suggestions in this regard is highly appreciated.

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

Reply via email to